include/opcode/
authorYufeng Zhang <yufeng.zhang@arm.com>
Wed, 30 Jan 2013 15:43:32 +0000 (15:43 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Wed, 30 Jan 2013 15:43:32 +0000 (15:43 +0000)
2013-01-30  Yufeng Zhang  <yufeng.zhang@arm.com>

* aarch64.h (aarch64_op): Add OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2.

opcodes/

2013-01-30  Yufeng Zhang  <yufeng.zhang@arm.com>

* aarch64-tbl.h (aarch64_opcode_table): Flag sshll, sshll2, ushll and
ushll2 with F_HAS_ALIAS.  Add entries for sxtl, sxtl2, uxtl and uxtl2.
* aarch64-asm.c (convert_xtl_to_shll): New function.
(convert_to_real): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by
calling convert_xtl_to_shll.
* aarch64-dis.c (convert_shll_to_xtl): New function.
(convert_to_alias): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by
calling convert_shll_to_xtl.
* aarch64-gen.c: Update copyright year.
* aarch64-asm-2.c: Re-generate.
* aarch64-dis-2.c: Re-generate.
* aarch64-opc-2.c: Re-generate.

gas/testsuite/

2013-01-30  Yufeng Zhang  <yufeng.zhang@arm.com>

* gas/aarch64/alias.s: Add new tests.
* gas/aarch64/alias.d: Update.
* gas/aarch64/no-aliases.d: Update.

14 files changed:
gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/alias.d
gas/testsuite/gas/aarch64/alias.s
gas/testsuite/gas/aarch64/no-aliases.d
include/opcode/ChangeLog
include/opcode/aarch64.h
opcodes/ChangeLog
opcodes/aarch64-asm-2.c
opcodes/aarch64-asm.c
opcodes/aarch64-dis-2.c
opcodes/aarch64-dis.c
opcodes/aarch64-gen.c
opcodes/aarch64-opc-2.c
opcodes/aarch64-tbl.h

index 28467852de94f8258e8e81bb640031c592f4c96a..5a85b8694d4101a4904a8978ff57c02f65524d7e 100644 (file)
@@ -1,3 +1,9 @@
+2013-01-30  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * gas/aarch64/alias.s: Add new tests.
+       * gas/aarch64/alias.d: Update.
+       * gas/aarch64/no-aliases.d: Update.
+
 2013-01-30  Markos Chandras  <markos.chandras@imgtec.com>
 
        * gas/metag/metacore21-invalid.s: Add invalid SWAP testcases.
index ddc21571e33013a994b74e0ad6243cc65eed93ba..53cf5e933a399594fcce284e1982bce2e95db416 100644 (file)
@@ -72,3 +72,27 @@ Disassembly of section \.text:
  100:  b13ffdff        cmn     x15, #0xfff
  104:  f13fffef        subs    x15, sp, #0xfff
  108:  b13ffdff        cmn     x15, #0xfff
+ 10c:  0f08a448        sxtl    v8.8h, v2.8b
+ 110:  0f08a448        sxtl    v8.8h, v2.8b
+ 114:  4f08a448        sxtl2   v8.8h, v2.16b
+ 118:  4f08a448        sxtl2   v8.8h, v2.16b
+ 11c:  0f10a448        sxtl    v8.4s, v2.4h
+ 120:  0f10a448        sxtl    v8.4s, v2.4h
+ 124:  4f10a448        sxtl2   v8.4s, v2.8h
+ 128:  4f10a448        sxtl2   v8.4s, v2.8h
+ 12c:  0f20a448        sxtl    v8.2d, v2.2s
+ 130:  0f20a448        sxtl    v8.2d, v2.2s
+ 134:  4f20a448        sxtl2   v8.2d, v2.4s
+ 138:  4f20a448        sxtl2   v8.2d, v2.4s
+ 13c:  2f08a448        uxtl    v8.8h, v2.8b
+ 140:  2f08a448        uxtl    v8.8h, v2.8b
+ 144:  6f08a448        uxtl2   v8.8h, v2.16b
+ 148:  6f08a448        uxtl2   v8.8h, v2.16b
+ 14c:  2f10a448        uxtl    v8.4s, v2.4h
+ 150:  2f10a448        uxtl    v8.4s, v2.4h
+ 154:  6f10a448        uxtl2   v8.4s, v2.8h
+ 158:  6f10a448        uxtl2   v8.4s, v2.8h
+ 15c:  2f20a448        uxtl    v8.2d, v2.2s
+ 160:  2f20a448        uxtl    v8.2d, v2.2s
+ 164:  6f20a448        uxtl2   v8.2d, v2.4s
+ 168:  6f20a448        uxtl2   v8.2d, v2.4s
index c2b71b90fd01c1c5bf799442e50bf9400968ec74..0db9affbe8f8ab799468826bdfa5a7009873526d 100644 (file)
@@ -2,7 +2,7 @@
    preference.  It is also used to test the -Mno-aliases option in
    the disassemler.
 
-   Copyright 2012 Free Software Foundation, Inc.
+   Copyright 2012, 2013 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GAS.
        adds    xzr, x15, #0xfff
        subs    x15, sp, #0xfff
        cmn     x15, #0xfff
+
+       .macro asimdshll        s
+        \s\()xtl v8.8h, v2.8b
+        \s\()shll v8.8h, v2.8b, #0
+        \s\()xtl2 v8.8h, v2.16b
+        \s\()shll2 v8.8h, v2.16b, #0
+        \s\()xtl v8.4s, v2.4h
+        \s\()shll v8.4s, v2.4h, #0
+        \s\()xtl2 v8.4s, v2.8h
+        \s\()shll2 v8.4s, v2.8h, #0
+        \s\()xtl v8.2d, v2.2s
+        \s\()shll v8.2d, v2.2s, #0
+        \s\()xtl2 v8.2d, v2.4s
+        \s\()shll2 v8.2d, v2.4s, #0
+       .endm
+
+       asimdshll       s
+       asimdshll       u
index 5ccf80ba43a295c9d7f69329de4d0cd9714e9992..1065094f28b6f06d7b11e6d07b03000ee83e23b8 100644 (file)
@@ -73,3 +73,27 @@ Disassembly of section \.text:
  100:  b13ffdff        adds    xzr, x15, #0xfff
  104:  f13fffef        subs    x15, sp, #0xfff
  108:  b13ffdff        adds    xzr, x15, #0xfff
+ 10c:  0f08a448        sshll   v8.8h, v2.8b, #0
+ 110:  0f08a448        sshll   v8.8h, v2.8b, #0
+ 114:  4f08a448        sshll2  v8.8h, v2.16b, #0
+ 118:  4f08a448        sshll2  v8.8h, v2.16b, #0
+ 11c:  0f10a448        sshll   v8.4s, v2.4h, #0
+ 120:  0f10a448        sshll   v8.4s, v2.4h, #0
+ 124:  4f10a448        sshll2  v8.4s, v2.8h, #0
+ 128:  4f10a448        sshll2  v8.4s, v2.8h, #0
+ 12c:  0f20a448        sshll   v8.2d, v2.2s, #0
+ 130:  0f20a448        sshll   v8.2d, v2.2s, #0
+ 134:  4f20a448        sshll2  v8.2d, v2.4s, #0
+ 138:  4f20a448        sshll2  v8.2d, v2.4s, #0
+ 13c:  2f08a448        ushll   v8.8h, v2.8b, #0
+ 140:  2f08a448        ushll   v8.8h, v2.8b, #0
+ 144:  6f08a448        ushll2  v8.8h, v2.16b, #0
+ 148:  6f08a448        ushll2  v8.8h, v2.16b, #0
+ 14c:  2f10a448        ushll   v8.4s, v2.4h, #0
+ 150:  2f10a448        ushll   v8.4s, v2.4h, #0
+ 154:  6f10a448        ushll2  v8.4s, v2.8h, #0
+ 158:  6f10a448        ushll2  v8.4s, v2.8h, #0
+ 15c:  2f20a448        ushll   v8.2d, v2.2s, #0
+ 160:  2f20a448        ushll   v8.2d, v2.2s, #0
+ 164:  6f20a448        ushll2  v8.2d, v2.4s, #0
+ 168:  6f20a448        ushll2  v8.2d, v2.4s, #0
index 321239a551b20c9b5a677bbc9f41ef1578dc3b76..ebe33dcaa71fbf77256ba42738ef483c521ec444 100644 (file)
@@ -1,3 +1,7 @@
+2013-01-30  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64.h (aarch64_op): Add OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2.
+
 2013-01-28  Alexis Deruelle  <alexis.deruelle@gmail.com>
 
        PR gas/15069
index 9005c8cdd0146782e84d56dc30e723db6e732985..941e67814375576c99ca8170fe48fef9e88d01f5 100644 (file)
@@ -1,6 +1,6 @@
 /* AArch64 assembler/disassembler support.
 
-   Copyright 2009, 2010, 2011, 2012  Free Software Foundation, Inc.
+   Copyright 2009, 2010, 2011, 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GNU Binutils.
@@ -424,6 +424,11 @@ enum aarch64_op
 
   OP_ROR_IMM,
 
+  OP_SXTL,
+  OP_SXTL2,
+  OP_UXTL,
+  OP_UXTL2,
+
   OP_TOTAL_NUM,                /* Pseudo.  */
 };
 
index b14b2bfba2448c250f3500a73f761344814e9d5a..9fac47b671ed119e3403ebd37b75fd4f6a78b963 100644 (file)
@@ -1,3 +1,18 @@
+2013-01-30  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64-tbl.h (aarch64_opcode_table): Flag sshll, sshll2, ushll and
+       ushll2 with F_HAS_ALIAS.  Add entries for sxtl, sxtl2, uxtl and uxtl2.
+       * aarch64-asm.c (convert_xtl_to_shll): New function.
+       (convert_to_real): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by
+       calling convert_xtl_to_shll.
+       * aarch64-dis.c (convert_shll_to_xtl): New function.
+       (convert_to_alias): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by
+       calling convert_shll_to_xtl.
+       * aarch64-gen.c: Update copyright year.
+       * aarch64-asm-2.c: Re-generate.
+       * aarch64-dis-2.c: Re-generate.
+       * aarch64-opc-2.c: Re-generate.
+
 2013-01-24  Nick Clifton  <nickc@redhat.com>
 
        * v850-dis.c: Add support for e3v5 architecture.
index b633b8648f5c81f206d8e66b57e4e213986aecac..d3280aad80626b16864861701e557af2bdfc92a3 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright 2012  Free Software Foundation, Inc.
+/* Copyright 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -76,147 +76,159 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
     case 259:  /* mov */
       value = 258;     /* --> orr.  */
       break;
-    case 427:  /* mov */
-      value = 426;     /* --> dup.  */
+    case 314:  /* sxtl */
+      value = 313;     /* --> sshll.  */
       break;
-    case 494:  /* sxtw */
-    case 493:  /* sxth */
-    case 492:  /* sxtb */
-    case 495:  /* asr */
-    case 491:  /* sbfx */
-    case 490:  /* sbfiz */
-      value = 489;     /* --> sbfm.  */
+    case 316:  /* sxtl2 */
+      value = 315;     /* --> sshll2.  */
       break;
-    case 498:  /* bfxil */
-    case 497:  /* bfi */
-      value = 496;     /* --> bfm.  */
+    case 336:  /* uxtl */
+      value = 335;     /* --> ushll.  */
       break;
-    case 503:  /* uxth */
-    case 502:  /* uxtb */
-    case 505:  /* lsr */
-    case 504:  /* lsl */
-    case 501:  /* ubfx */
-    case 500:  /* ubfiz */
-      value = 499;     /* --> ubfm.  */
+    case 338:  /* uxtl2 */
+      value = 337;     /* --> ushll2.  */
       break;
-    case 523:  /* cset */
-    case 522:  /* cinc */
-      value = 521;     /* --> csinc.  */
+    case 431:  /* mov */
+      value = 430;     /* --> dup.  */
       break;
-    case 526:  /* csetm */
-    case 525:  /* cinv */
-      value = 524;     /* --> csinv.  */
+    case 498:  /* sxtw */
+    case 497:  /* sxth */
+    case 496:  /* sxtb */
+    case 499:  /* asr */
+    case 495:  /* sbfx */
+    case 494:  /* sbfiz */
+      value = 493;     /* --> sbfm.  */
       break;
-    case 528:  /* cneg */
-      value = 527;     /* --> csneg.  */
+    case 502:  /* bfxil */
+    case 501:  /* bfi */
+      value = 500;     /* --> bfm.  */
       break;
-    case 553:  /* lsl */
-      value = 552;     /* --> lslv.  */
+    case 507:  /* uxth */
+    case 506:  /* uxtb */
+    case 509:  /* lsr */
+    case 508:  /* lsl */
+    case 505:  /* ubfx */
+    case 504:  /* ubfiz */
+      value = 503;     /* --> ubfm.  */
       break;
-    case 555:  /* lsr */
-      value = 554;     /* --> lsrv.  */
+    case 527:  /* cset */
+    case 526:  /* cinc */
+      value = 525;     /* --> csinc.  */
       break;
-    case 557:  /* asr */
-      value = 556;     /* --> asrv.  */
+    case 530:  /* csetm */
+    case 529:  /* cinv */
+      value = 528;     /* --> csinv.  */
       break;
-    case 559:  /* ror */
-      value = 558;     /* --> rorv.  */
+    case 532:  /* cneg */
+      value = 531;     /* --> csneg.  */
       break;
-    case 561:  /* mul */
-      value = 560;     /* --> madd.  */
+    case 557:  /* lsl */
+      value = 556;     /* --> lslv.  */
       break;
-    case 563:  /* mneg */
-      value = 562;     /* --> msub.  */
+    case 559:  /* lsr */
+      value = 558;     /* --> lsrv.  */
       break;
-    case 565:  /* smull */
-      value = 564;     /* --> smaddl.  */
+    case 561:  /* asr */
+      value = 560;     /* --> asrv.  */
       break;
-    case 567:  /* smnegl */
-      value = 566;     /* --> smsubl.  */
+    case 563:  /* ror */
+      value = 562;     /* --> rorv.  */
       break;
-    case 570:  /* umull */
-      value = 569;     /* --> umaddl.  */
+    case 565:  /* mul */
+      value = 564;     /* --> madd.  */
       break;
-    case 572:  /* umnegl */
-      value = 571;     /* --> umsubl.  */
+    case 567:  /* mneg */
+      value = 566;     /* --> msub.  */
       break;
-    case 583:  /* ror */
-      value = 582;     /* --> extr.  */
+    case 569:  /* smull */
+      value = 568;     /* --> smaddl.  */
       break;
-    case 683:  /* strb */
-      value = 681;     /* --> sturb.  */
+    case 571:  /* smnegl */
+      value = 570;     /* --> smsubl.  */
       break;
-    case 684:  /* ldrb */
-      value = 682;     /* --> ldurb.  */
+    case 574:  /* umull */
+      value = 573;     /* --> umaddl.  */
       break;
-    case 686:  /* ldrsb */
-      value = 685;     /* --> ldursb.  */
+    case 576:  /* umnegl */
+      value = 575;     /* --> umsubl.  */
       break;
-    case 689:  /* str */
-      value = 687;     /* --> stur.  */
+    case 587:  /* ror */
+      value = 586;     /* --> extr.  */
       break;
-    case 690:  /* ldr */
-      value = 688;     /* --> ldur.  */
+    case 687:  /* strb */
+      value = 685;     /* --> sturb.  */
       break;
-    case 693:  /* strh */
-      value = 691;     /* --> sturh.  */
+    case 688:  /* ldrb */
+      value = 686;     /* --> ldurb.  */
       break;
-    case 694:  /* ldrh */
-      value = 692;     /* --> ldurh.  */
+    case 690:  /* ldrsb */
+      value = 689;     /* --> ldursb.  */
       break;
-    case 696:  /* ldrsh */
-      value = 695;     /* --> ldursh.  */
+    case 693:  /* str */
+      value = 691;     /* --> stur.  */
       break;
-    case 699:  /* str */
-      value = 697;     /* --> stur.  */
+    case 694:  /* ldr */
+      value = 692;     /* --> ldur.  */
       break;
-    case 700:  /* ldr */
-      value = 698;     /* --> ldur.  */
+    case 697:  /* strh */
+      value = 695;     /* --> sturh.  */
       break;
-    case 702:  /* ldrsw */
-      value = 701;     /* --> ldursw.  */
+    case 698:  /* ldrh */
+      value = 696;     /* --> ldurh.  */
       break;
-    case 704:  /* prfm */
-      value = 703;     /* --> prfum.  */
+    case 700:  /* ldrsh */
+      value = 699;     /* --> ldursh.  */
       break;
-    case 746:  /* bic */
-      value = 745;     /* --> and.  */
+    case 703:  /* str */
+      value = 701;     /* --> stur.  */
       break;
-    case 748:  /* mov */
-      value = 747;     /* --> orr.  */
+    case 704:  /* ldr */
+      value = 702;     /* --> ldur.  */
       break;
-    case 751:  /* tst */
-      value = 750;     /* --> ands.  */
+    case 706:  /* ldrsw */
+      value = 705;     /* --> ldursw.  */
       break;
-    case 756:  /* uxtw */
-    case 755:  /* mov */
-      value = 754;     /* --> orr.  */
+    case 708:  /* prfm */
+      value = 707;     /* --> prfum.  */
       break;
-    case 758:  /* mvn */
-      value = 757;     /* --> orn.  */
+    case 750:  /* bic */
+      value = 749;     /* --> and.  */
       break;
-    case 762:  /* tst */
-      value = 761;     /* --> ands.  */
+    case 752:  /* mov */
+      value = 751;     /* --> orr.  */
       break;
-    case 765:  /* mov */
-      value = 764;     /* --> movn.  */
+    case 755:  /* tst */
+      value = 754;     /* --> ands.  */
       break;
-    case 767:  /* mov */
-      value = 766;     /* --> movz.  */
+    case 760:  /* uxtw */
+    case 759:  /* mov */
+      value = 758;     /* --> orr.  */
       break;
-    case 778:  /* sevl */
-    case 777:  /* sev */
-    case 776:  /* wfi */
-    case 775:  /* wfe */
-    case 774:  /* yield */
-    case 773:  /* nop */
-      value = 772;     /* --> hint.  */
+    case 762:  /* mvn */
+      value = 761;     /* --> orn.  */
       break;
-    case 787:  /* tlbi */
-    case 786:  /* ic */
-    case 785:  /* dc */
-    case 784:  /* at */
-      value = 783;     /* --> sys.  */
+    case 766:  /* tst */
+      value = 765;     /* --> ands.  */
+      break;
+    case 769:  /* mov */
+      value = 768;     /* --> movn.  */
+      break;
+    case 771:  /* mov */
+      value = 770;     /* --> movz.  */
+      break;
+    case 782:  /* sevl */
+    case 781:  /* sev */
+    case 780:  /* wfi */
+    case 779:  /* wfe */
+    case 778:  /* yield */
+    case 777:  /* nop */
+      value = 776;     /* --> hint.  */
+      break;
+    case 791:  /* tlbi */
+    case 790:  /* ic */
+    case 789:  /* dc */
+    case 788:  /* at */
+      value = 787;     /* --> sys.  */
       break;
     default: return NULL;
     }
index 4c1c5216b76902f18c7e33a3b8f89caf1dcc0739..7a92b49ac280d0fa8a34b16bed65485e8017a0e2 100644 (file)
@@ -1,5 +1,5 @@
 /* aarch64-asm.c -- AArch64 assembler support.
-   Copyright 2012  Free Software Foundation, Inc.
+   Copyright 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -958,6 +958,16 @@ convert_ror_to_extr (aarch64_inst *inst)
   copy_operand_info (inst, 2, 1);
 }
 
+/* UXTL<Q> <Vd>.<Ta>, <Vn>.<Tb>
+     is equivalent to:
+   USHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #0.  */
+static void
+convert_xtl_to_shll (aarch64_inst *inst)
+{
+  inst->operands[2].qualifier = inst->operands[1].qualifier;
+  inst->operands[2].imm.value = 0;
+}
+
 /* Convert
      LSR <Xd>, <Xn>, #<shift>
    to
@@ -1167,6 +1177,12 @@ convert_to_real (aarch64_inst *inst, const aarch64_opcode *real)
     case OP_ROR_IMM:
       convert_ror_to_extr (inst);
       break;
+    case OP_SXTL:
+    case OP_SXTL2:
+    case OP_UXTL:
+    case OP_UXTL2:
+      convert_xtl_to_shll (inst);
+      break;
     default:
       break;
     }
index cf508aed0ca5ae78add97845d45972f661a84311..410bc3dedab0c7d1cf280c9d3e9f143977f55fd0 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright 2012  Free Software Foundation, Inc.
+/* Copyright 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
                          adr.  */
-                      return 769;
+                      return 773;
                     }
                   else
                     {
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
                          adrp.  */
-                      return 770;
+                      return 774;
                     }
                 }
               else
@@ -115,7 +115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010000
                                                  stxrb.  */
-                                              return 705;
+                                              return 709;
                                             }
                                           else
                                             {
@@ -123,7 +123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010010
                                                  stxrh.  */
-                                              return 711;
+                                              return 715;
                                             }
                                         }
                                       else
@@ -132,7 +132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx000x00100x1
                                              stxr.  */
-                                          return 717;
+                                          return 721;
                                         }
                                     }
                                   else
@@ -141,7 +141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx100x00100xx
                                          stxp.  */
-                                      return 719;
+                                      return 723;
                                     }
                                 }
                               else
@@ -156,7 +156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010000
                                                  stlxrb.  */
-                                              return 706;
+                                              return 710;
                                             }
                                           else
                                             {
@@ -164,7 +164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010010
                                                  stlxrh.  */
-                                              return 712;
+                                              return 716;
                                             }
                                         }
                                       else
@@ -173,7 +173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx000x00100x1
                                              stlxr.  */
-                                          return 718;
+                                          return 722;
                                         }
                                     }
                                   else
@@ -182,7 +182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx100x00100xx
                                          stlxp.  */
-                                      return 720;
+                                      return 724;
                                     }
                                 }
                             }
@@ -192,7 +192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx00x00101xx
                                  stnp.  */
-                              return 727;
+                              return 731;
                             }
                         }
                       else
@@ -207,7 +207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx01x0010000
                                          stlrb.  */
-                                      return 709;
+                                      return 713;
                                     }
                                   else
                                     {
@@ -215,7 +215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx01x0010010
                                          stlrh.  */
-                                      return 715;
+                                      return 719;
                                     }
                                 }
                               else
@@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx01x00100x1
                                      stlr.  */
-                                  return 725;
+                                  return 729;
                                 }
                             }
                           else
@@ -233,7 +233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x00101xx
                                  stp.  */
-                              return 736;
+                              return 740;
                             }
                         }
                     }
@@ -255,7 +255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010000
                                                  ldxrb.  */
-                                              return 707;
+                                              return 711;
                                             }
                                           else
                                             {
@@ -263,7 +263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010010
                                                  ldxrh.  */
-                                              return 713;
+                                              return 717;
                                             }
                                         }
                                       else
@@ -272,7 +272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx010x00100x1
                                              ldxr.  */
-                                          return 721;
+                                          return 725;
                                         }
                                     }
                                   else
@@ -281,7 +281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx110x00100xx
                                          ldxp.  */
-                                      return 723;
+                                      return 727;
                                     }
                                 }
                               else
@@ -296,7 +296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010000
                                                  ldaxrb.  */
-                                              return 708;
+                                              return 712;
                                             }
                                           else
                                             {
@@ -304,7 +304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010010
                                                  ldaxrh.  */
-                                              return 714;
+                                              return 718;
                                             }
                                         }
                                       else
@@ -313,7 +313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx010x00100x1
                                              ldaxr.  */
-                                          return 722;
+                                          return 726;
                                         }
                                     }
                                   else
@@ -322,7 +322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx110x00100xx
                                          ldaxp.  */
-                                      return 724;
+                                      return 728;
                                     }
                                 }
                             }
@@ -334,7 +334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001010x
                                      ldnp.  */
-                                  return 728;
+                                  return 732;
                                 }
                               else
                                 {
@@ -342,7 +342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001011x
                                      ldpsw.  */
-                                  return 735;
+                                  return 739;
                                 }
                             }
                         }
@@ -358,7 +358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx11x0010000
                                          ldarb.  */
-                                      return 710;
+                                      return 714;
                                     }
                                   else
                                     {
@@ -366,7 +366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx11x0010010
                                          ldarh.  */
-                                      return 716;
+                                      return 720;
                                     }
                                 }
                               else
@@ -375,7 +375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x00100x1
                                      ldar.  */
-                                  return 726;
+                                  return 730;
                                 }
                             }
                           else
@@ -386,7 +386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001010x
                                      ldp.  */
-                                  return 737;
+                                  return 741;
                                 }
                               else
                                 {
@@ -394,7 +394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001011x
                                      ldpsw.  */
-                                  return 740;
+                                  return 744;
                                 }
                             }
                         }
@@ -412,7 +412,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxxx000110x0
                                  ldr.  */
-                              return 741;
+                              return 745;
                             }
                           else
                             {
@@ -422,7 +422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011001
                                      ldrsw.  */
-                                  return 743;
+                                  return 747;
                                 }
                               else
                                 {
@@ -430,7 +430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011011
                                      prfm.  */
-                                  return 744;
+                                  return 748;
                                 }
                             }
                         }
@@ -452,7 +452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxxx0000011100
                                                      sturb.  */
-                                                  return 681;
+                                                  return 685;
                                                 }
                                               else
                                                 {
@@ -460,7 +460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxxx0000011110
                                                      sturh.  */
-                                                  return 691;
+                                                  return 695;
                                                 }
                                             }
                                           else
@@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxxx00000111x1
                                                  stur.  */
-                                              return 697;
+                                              return 701;
                                             }
                                         }
                                       else
@@ -482,7 +482,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxxx1000011100
                                                      ldurb.  */
-                                                  return 682;
+                                                  return 686;
                                                 }
                                               else
                                                 {
@@ -490,7 +490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxxx1000011110
                                                      ldurh.  */
-                                                  return 692;
+                                                  return 696;
                                                 }
                                             }
                                           else
@@ -499,7 +499,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxxx10000111x1
                                                  ldur.  */
-                                              return 698;
+                                              return 702;
                                             }
                                         }
                                     }
@@ -513,7 +513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxxxx100011100
                                                  ldursb.  */
-                                              return 685;
+                                              return 689;
                                             }
                                           else
                                             {
@@ -521,7 +521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxxxx100011101
                                                  ldursw.  */
-                                              return 701;
+                                              return 705;
                                             }
                                         }
                                       else
@@ -532,7 +532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxxxx100011110
                                                  ldursh.  */
-                                              return 695;
+                                              return 699;
                                             }
                                           else
                                             {
@@ -540,7 +540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxxxx100011111
                                                  prfum.  */
-                                              return 703;
+                                              return 707;
                                             }
                                         }
                                     }
@@ -561,7 +561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011100
                                                          sttrb.  */
-                                                      return 672;
+                                                      return 676;
                                                     }
                                                   else
                                                     {
@@ -569,7 +569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011110
                                                          sttrh.  */
-                                                      return 675;
+                                                      return 679;
                                                     }
                                                 }
                                               else
@@ -578,7 +578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx000000111x1
                                                      sttr.  */
-                                                  return 678;
+                                                  return 682;
                                                 }
                                             }
                                           else
@@ -591,7 +591,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011100
                                                          ldtrb.  */
-                                                      return 673;
+                                                      return 677;
                                                     }
                                                   else
                                                     {
@@ -599,7 +599,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011110
                                                          ldtrh.  */
-                                                      return 676;
+                                                      return 680;
                                                     }
                                                 }
                                               else
@@ -608,7 +608,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx010000111x1
                                                      ldtr.  */
-                                                  return 679;
+                                                  return 683;
                                                 }
                                             }
                                         }
@@ -622,7 +622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011100
                                                      ldtrsb.  */
-                                                  return 674;
+                                                  return 678;
                                                 }
                                               else
                                                 {
@@ -630,7 +630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011101
                                                      ldtrsw.  */
-                                                  return 680;
+                                                  return 684;
                                                 }
                                             }
                                           else
@@ -639,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx01xxxxxxxxx0x10001111x
                                                  ldtrsh.  */
-                                              return 677;
+                                              return 681;
                                             }
                                         }
                                     }
@@ -657,7 +657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011100
                                                          strb.  */
-                                                      return 660;
+                                                      return 664;
                                                     }
                                                   else
                                                     {
@@ -665,7 +665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011110
                                                          strh.  */
-                                                      return 665;
+                                                      return 669;
                                                     }
                                                 }
                                               else
@@ -674,7 +674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx100000111x1
                                                      str.  */
-                                                  return 668;
+                                                  return 672;
                                                 }
                                             }
                                           else
@@ -687,7 +687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011100
                                                          ldrb.  */
-                                                      return 661;
+                                                      return 665;
                                                     }
                                                   else
                                                     {
@@ -695,7 +695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011110
                                                          ldrh.  */
-                                                      return 666;
+                                                      return 670;
                                                     }
                                                 }
                                               else
@@ -704,7 +704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx110000111x1
                                                      ldr.  */
-                                                  return 669;
+                                                  return 673;
                                                 }
                                             }
                                         }
@@ -718,7 +718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011100
                                                      ldrsb.  */
-                                                  return 662;
+                                                  return 666;
                                                 }
                                               else
                                                 {
@@ -726,7 +726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011101
                                                      ldrsw.  */
-                                                  return 670;
+                                                  return 674;
                                                 }
                                             }
                                           else
@@ -737,7 +737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011110
                                                      ldrsh.  */
-                                                  return 667;
+                                                  return 671;
                                                 }
                                               else
                                                 {
@@ -745,7 +745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011111
                                                      prfm.  */
-                                                  return 671;
+                                                  return 675;
                                                 }
                                             }
                                         }
@@ -766,7 +766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx0000011100
                                                  strb.  */
-                                              return 637;
+                                              return 641;
                                             }
                                           else
                                             {
@@ -774,7 +774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx0000011110
                                                  strh.  */
-                                              return 642;
+                                              return 646;
                                             }
                                         }
                                       else
@@ -783,7 +783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxx00000111x1
                                              str.  */
-                                          return 645;
+                                          return 649;
                                         }
                                     }
                                   else
@@ -796,7 +796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx1000011100
                                                  ldrb.  */
-                                              return 638;
+                                              return 642;
                                             }
                                           else
                                             {
@@ -804,7 +804,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx1000011110
                                                  ldrh.  */
-                                              return 643;
+                                              return 647;
                                             }
                                         }
                                       else
@@ -813,7 +813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxx10000111x1
                                              ldr.  */
-                                          return 646;
+                                          return 650;
                                         }
                                     }
                                 }
@@ -827,7 +827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxxx100011100
                                              ldrsb.  */
-                                          return 639;
+                                          return 643;
                                         }
                                       else
                                         {
@@ -835,7 +835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxxx100011101
                                              ldrsw.  */
-                                          return 647;
+                                          return 651;
                                         }
                                     }
                                   else
@@ -844,7 +844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxxxx10001111x
                                          ldrsh.  */
-                                      return 644;
+                                      return 648;
                                     }
                                 }
                             }
@@ -864,7 +864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x00
                                          strb.  */
-                                      return 648;
+                                      return 652;
                                     }
                                   else
                                     {
@@ -872,7 +872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x10
                                          strh.  */
-                                      return 653;
+                                      return 657;
                                     }
                                 }
                               else
@@ -881,7 +881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx0010011xx1
                                      str.  */
-                                  return 656;
+                                  return 660;
                                 }
                             }
                           else
@@ -894,7 +894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x00
                                          ldrb.  */
-                                      return 649;
+                                      return 653;
                                     }
                                   else
                                     {
@@ -902,7 +902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x10
                                          ldrh.  */
-                                      return 654;
+                                      return 658;
                                     }
                                 }
                               else
@@ -911,7 +911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx1010011xx1
                                      ldr.  */
-                                  return 657;
+                                  return 661;
                                 }
                             }
                         }
@@ -925,7 +925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x00
                                      ldrsb.  */
-                                  return 650;
+                                  return 654;
                                 }
                               else
                                 {
@@ -933,7 +933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x01
                                      ldrsw.  */
-                                  return 658;
+                                  return 662;
                                 }
                             }
                           else
@@ -944,7 +944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x10
                                      ldrsh.  */
-                                  return 655;
+                                  return 659;
                                 }
                               else
                                 {
@@ -952,7 +952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x11
                                      prfm.  */
-                                  return 659;
+                                  return 663;
                                 }
                             }
                         }
@@ -976,7 +976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x00x
                                  and.  */
-                              return 745;
+                              return 749;
                             }
                           else
                             {
@@ -984,7 +984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x01x
                                  eor.  */
-                              return 749;
+                              return 753;
                             }
                         }
                       else
@@ -995,7 +995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x10x
                                  orr.  */
-                              return 747;
+                              return 751;
                             }
                           else
                             {
@@ -1003,7 +1003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x11x
                                  ands.  */
-                              return 750;
+                              return 754;
                             }
                         }
                     }
@@ -1017,7 +1017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x00x
                                  movn.  */
-                              return 764;
+                              return 768;
                             }
                           else
                             {
@@ -1025,7 +1025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x01x
                                  movz.  */
-                              return 766;
+                              return 770;
                             }
                         }
                       else
@@ -1034,7 +1034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
                              movk.  */
-                          return 768;
+                          return 772;
                         }
                     }
                 }
@@ -1052,7 +1052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101000x
                                      and.  */
-                                  return 752;
+                                  return 756;
                                 }
                               else
                                 {
@@ -1060,7 +1060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101001x
                                      eor.  */
-                                  return 759;
+                                  return 763;
                                 }
                             }
                           else
@@ -1071,7 +1071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101010x
                                      orr.  */
-                                  return 754;
+                                  return 758;
                                 }
                               else
                                 {
@@ -1079,7 +1079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101011x
                                      ands.  */
-                                  return 761;
+                                  return 765;
                                 }
                             }
                         }
@@ -1140,7 +1140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx00101011x0x
                                                  csel.  */
-                                              return 520;
+                                              return 524;
                                             }
                                           else
                                             {
@@ -1148,7 +1148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx00101011x1x
                                                  csinv.  */
-                                              return 524;
+                                              return 528;
                                             }
                                         }
                                     }
@@ -1162,7 +1162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx01001011x0x
                                                  ccmn.  */
-                                              return 518;
+                                              return 522;
                                             }
                                           else
                                             {
@@ -1170,7 +1170,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx01001011x1x
                                                  ccmp.  */
-                                              return 519;
+                                              return 523;
                                             }
                                         }
                                       else
@@ -1183,7 +1183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0000xxxxxxx01101011xxx
                                                      rbit.  */
-                                                  return 543;
+                                                  return 547;
                                                 }
                                               else
                                                 {
@@ -1191,7 +1191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0001xxxxxxx01101011xxx
                                                      lslv.  */
-                                                  return 552;
+                                                  return 556;
                                                 }
                                             }
                                           else
@@ -1200,7 +1200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx001xxxxxxxx01101011xxx
                                                  clz.  */
-                                              return 547;
+                                              return 551;
                                             }
                                         }
                                     }
@@ -1215,7 +1215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01xxxxxxxxx0x001011x0x
                                              ccmn.  */
-                                          return 516;
+                                          return 520;
                                         }
                                       else
                                         {
@@ -1223,7 +1223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01xxxxxxxxx0x001011x1x
                                              ccmp.  */
-                                          return 517;
+                                          return 521;
                                         }
                                     }
                                   else
@@ -1236,7 +1236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx01x0xxxxxxx0x101011x0x
                                                  udiv.  */
-                                              return 550;
+                                              return 554;
                                             }
                                           else
                                             {
@@ -1246,7 +1246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01x0xxxxxxx0x101011x10
                                                      rev.  */
-                                                  return 545;
+                                                  return 549;
                                                 }
                                               else
                                                 {
@@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01x0xxxxxxx0x101011x11
                                                      rev32.  */
-                                                  return 549;
+                                                  return 553;
                                                 }
                                             }
                                         }
@@ -1264,7 +1264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01x1xxxxxxx0x101011xxx
                                              asrv.  */
-                                          return 556;
+                                          return 560;
                                         }
                                     }
                                 }
@@ -1281,7 +1281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx10xxxxxxxxx00x01011x0x
                                              csinc.  */
-                                          return 521;
+                                          return 525;
                                         }
                                       else
                                         {
@@ -1289,7 +1289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx10xxxxxxxxx00x01011x1x
                                              csneg.  */
-                                          return 527;
+                                          return 531;
                                         }
                                     }
                                   else
@@ -1302,7 +1302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1000xxxxxxx01x01011xxx
                                                  rev16.  */
-                                              return 544;
+                                              return 548;
                                             }
                                           else
                                             {
@@ -1310,7 +1310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1001xxxxxxx01x01011xxx
                                                  lsrv.  */
-                                              return 554;
+                                              return 558;
                                             }
                                         }
                                       else
@@ -1319,7 +1319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx101xxxxxxxx01x01011xxx
                                              cls.  */
-                                          return 548;
+                                          return 552;
                                         }
                                     }
                                 }
@@ -1333,7 +1333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx11x0xxxxxxx0xx01011x0x
                                              sdiv.  */
-                                          return 551;
+                                          return 555;
                                         }
                                       else
                                         {
@@ -1341,7 +1341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx11x0xxxxxxx0xx01011x1x
                                              rev.  */
-                                          return 546;
+                                          return 550;
                                         }
                                     }
                                   else
@@ -1350,7 +1350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx11x1xxxxxxx0xx01011xxx
                                          rorv.  */
-                                      return 558;
+                                      return 562;
                                     }
                                 }
                             }
@@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
                                  bic.  */
-                              return 753;
+                              return 757;
                             }
                           else
                             {
@@ -1374,7 +1374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
                                  eon.  */
-                              return 760;
+                              return 764;
                             }
                         }
                       else
@@ -1385,7 +1385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
                                  orn.  */
-                              return 757;
+                              return 761;
                             }
                           else
                             {
@@ -1393,7 +1393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
                                  bics.  */
-                              return 763;
+                              return 767;
                             }
                         }
                     }
@@ -1413,7 +1413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx01100x00x
                                  sbfm.  */
-                              return 489;
+                              return 493;
                             }
                           else
                             {
@@ -1421,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx01100x01x
                                  ubfm.  */
-                              return 499;
+                              return 503;
                             }
                         }
                       else
@@ -1430,7 +1430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
                              bfm.  */
-                          return 496;
+                          return 500;
                         }
                     }
                   else
@@ -1439,7 +1439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
                          extr.  */
-                      return 582;
+                      return 586;
                     }
                 }
               else
@@ -1497,7 +1497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx0xxxxx00x11011xxx
                                      madd.  */
-                                  return 560;
+                                  return 564;
                                 }
                               else
                                 {
@@ -1507,7 +1507,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx01011011xxx
                                          smulh.  */
-                                      return 568;
+                                      return 572;
                                     }
                                   else
                                     {
@@ -1515,7 +1515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx01111011xxx
                                          umulh.  */
-                                      return 573;
+                                      return 577;
                                     }
                                 }
                             }
@@ -1525,7 +1525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
                                  msub.  */
-                              return 562;
+                              return 566;
                             }
                         }
                     }
@@ -1582,7 +1582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx0xxxxx1x011011xxx
                                      smaddl.  */
-                                  return 564;
+                                  return 568;
                                 }
                               else
                                 {
@@ -1590,7 +1590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx1xxxxx1x011011xxx
                                      smsubl.  */
-                                  return 566;
+                                  return 570;
                                 }
                             }
                         }
@@ -1602,7 +1602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
                                  umaddl.  */
-                              return 569;
+                              return 573;
                             }
                           else
                             {
@@ -1610,7 +1610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
                                  umsubl.  */
-                              return 571;
+                              return 575;
                             }
                         }
                     }
@@ -1632,7 +1632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxxxx10x000
                          b.  */
-                      return 506;
+                      return 510;
                     }
                   else
                     {
@@ -1640,7 +1640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxxxx10x001
                          bl.  */
-                      return 507;
+                      return 511;
                     }
                 }
               else
@@ -1655,7 +1655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxxx0010x010
                                  b.c.  */
-                              return 515;
+                              return 519;
                             }
                           else
                             {
@@ -1669,7 +1669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              00xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              hlt.  */
-                                          return 578;
+                                          return 582;
                                         }
                                       else
                                         {
@@ -1677,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              00xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              brk.  */
-                                          return 577;
+                                          return 581;
                                         }
                                     }
                                   else
@@ -1688,7 +1688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              01xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              hvc.  */
-                                          return 575;
+                                          return 579;
                                         }
                                       else
                                         {
@@ -1696,7 +1696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              01xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              dcps2.  */
-                                          return 580;
+                                          return 584;
                                         }
                                     }
                                 }
@@ -1710,7 +1710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              10xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              svc.  */
-                                          return 574;
+                                          return 578;
                                         }
                                       else
                                         {
@@ -1718,7 +1718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              10xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              dcps1.  */
-                                          return 579;
+                                          return 583;
                                         }
                                     }
                                   else
@@ -1729,7 +1729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              11xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              smc.  */
-                                          return 576;
+                                          return 580;
                                         }
                                       else
                                         {
@@ -1737,7 +1737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              11xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              dcps3.  */
-                                          return 581;
+                                          return 585;
                                         }
                                     }
                                 }
@@ -1755,7 +1755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx0000110x01x
                                          br.  */
-                                      return 508;
+                                      return 512;
                                     }
                                   else
                                     {
@@ -1763,7 +1763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx0010110x01x
                                          eret.  */
-                                      return 511;
+                                      return 515;
                                     }
                                 }
                               else
@@ -1772,7 +1772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx01x0110x01x
                                      ret.  */
-                                  return 510;
+                                  return 514;
                                 }
                             }
                           else
@@ -1783,7 +1783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx1x00110x01x
                                      blr.  */
-                                  return 509;
+                                  return 513;
                                 }
                               else
                                 {
@@ -1791,7 +1791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx1x10110x01x
                                      drps.  */
-                                  return 512;
+                                  return 516;
                                 }
                             }
                         }
@@ -1810,7 +1810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxx00xxxxx00xxx1x10x01x
                                          msr.  */
-                                      return 771;
+                                      return 775;
                                     }
                                   else
                                     {
@@ -1818,7 +1818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxx01xxxxx00xxx1x10x01x
                                          hint.  */
-                                      return 772;
+                                      return 776;
                                     }
                                 }
                               else
@@ -1831,7 +1831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxx00xxxxx1xxxxxx00xxx1x10x01x
                                              dsb.  */
-                                          return 780;
+                                          return 784;
                                         }
                                       else
                                         {
@@ -1841,7 +1841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxx010xxxx1xxxxxx00xxx1x10x01x
                                                  clrex.  */
-                                              return 779;
+                                              return 783;
                                             }
                                           else
                                             {
@@ -1849,7 +1849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxx011xxxx1xxxxxx00xxx1x10x01x
                                                  isb.  */
-                                              return 782;
+                                              return 786;
                                             }
                                         }
                                     }
@@ -1859,7 +1859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxx1xxxxxx1xxxxxx00xxx1x10x01x
                                          dmb.  */
-                                      return 781;
+                                      return 785;
                                     }
                                 }
                             }
@@ -1871,7 +1871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxx100xx1x10x01x
                                      sys.  */
-                                  return 783;
+                                  return 787;
                                 }
                               else
                                 {
@@ -1879,7 +1879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxx101xx1x10x01x
                                      sysl.  */
-                                  return 789;
+                                  return 793;
                                 }
                             }
                         }
@@ -1891,7 +1891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxx10xx1x10x01x
                                  msr.  */
-                              return 788;
+                              return 792;
                             }
                           else
                             {
@@ -1899,7 +1899,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxx11xx1x10x01x
                                  mrs.  */
-                              return 790;
+                              return 794;
                             }
                         }
                     }
@@ -1915,7 +1915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx
                          cbz.  */
-                      return 513;
+                      return 517;
                     }
                   else
                     {
@@ -1923,7 +1923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
                          tbz.  */
-                      return 791;
+                      return 795;
                     }
                 }
               else
@@ -1934,7 +1934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx
                          cbnz.  */
-                      return 514;
+                      return 518;
                     }
                   else
                     {
@@ -1942,7 +1942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
                          tbnz.  */
-                      return 792;
+                      return 796;
                     }
                 }
             }
@@ -1965,7 +1965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001100xx
                                      st4.  */
-                                  return 351;
+                                  return 355;
                                 }
                               else
                                 {
@@ -1973,7 +1973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001101xx
                                      stnp.  */
-                                  return 729;
+                                  return 733;
                                 }
                             }
                           else
@@ -1988,7 +1988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx000101100xx
                                              st1.  */
-                                          return 367;
+                                          return 371;
                                         }
                                       else
                                         {
@@ -1996,7 +1996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx100101100xx
                                              st2.  */
-                                          return 369;
+                                          return 373;
                                         }
                                     }
                                   else
@@ -2007,7 +2007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx000101100xx
                                              st3.  */
-                                          return 368;
+                                          return 372;
                                         }
                                       else
                                         {
@@ -2015,7 +2015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx100101100xx
                                              st4.  */
-                                          return 370;
+                                          return 374;
                                         }
                                     }
                                 }
@@ -2025,7 +2025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00101101xx
                                      stp.  */
-                                  return 733;
+                                  return 737;
                                 }
                             }
                         }
@@ -2041,7 +2041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx001001100xx
                                          st4.  */
-                                      return 359;
+                                      return 363;
                                     }
                                   else
                                     {
@@ -2051,7 +2051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx001101100xx
                                              st1.  */
-                                          return 379;
+                                          return 383;
                                         }
                                       else
                                         {
@@ -2059,7 +2059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx001101100xx
                                              st3.  */
-                                          return 380;
+                                          return 384;
                                         }
                                     }
                                 }
@@ -2071,7 +2071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx0xxxxxxx101x01100xx
                                          st2.  */
-                                      return 381;
+                                      return 385;
                                     }
                                   else
                                     {
@@ -2079,7 +2079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx1xxxxxxx101x01100xx
                                          st4.  */
-                                      return 382;
+                                      return 386;
                                     }
                                 }
                             }
@@ -2089,7 +2089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x01101xx
                                  stp.  */
-                              return 738;
+                              return 742;
                             }
                         }
                     }
@@ -2105,7 +2105,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001100xx
                                      ld4.  */
-                                  return 355;
+                                  return 359;
                                 }
                               else
                                 {
@@ -2113,7 +2113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001101xx
                                      ldnp.  */
-                                  return 730;
+                                  return 734;
                                 }
                             }
                           else
@@ -2128,7 +2128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx010101100xx
                                              ld1.  */
-                                          return 371;
+                                          return 375;
                                         }
                                       else
                                         {
@@ -2136,7 +2136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx110101100xx
                                              ld2.  */
-                                          return 375;
+                                          return 379;
                                         }
                                     }
                                   else
@@ -2147,7 +2147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx010101100xx
                                              ld3.  */
-                                          return 372;
+                                          return 376;
                                         }
                                       else
                                         {
@@ -2155,7 +2155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx110101100xx
                                              ld4.  */
-                                          return 376;
+                                          return 380;
                                         }
                                     }
                                 }
@@ -2165,7 +2165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10101101xx
                                      ldp.  */
-                                  return 734;
+                                  return 738;
                                 }
                             }
                         }
@@ -2181,7 +2181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx011001100xx
                                          ld4.  */
-                                      return 363;
+                                      return 367;
                                     }
                                   else
                                     {
@@ -2191,7 +2191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx011101100xx
                                              ld1.  */
-                                          return 383;
+                                          return 387;
                                         }
                                       else
                                         {
@@ -2199,7 +2199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx011101100xx
                                              ld3.  */
-                                          return 384;
+                                          return 388;
                                         }
                                     }
                                 }
@@ -2211,7 +2211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx0xxxxxxx111x01100xx
                                          ld2.  */
-                                      return 387;
+                                      return 391;
                                     }
                                   else
                                     {
@@ -2219,7 +2219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx1xxxxxxx111x01100xx
                                          ld4.  */
-                                      return 388;
+                                      return 392;
                                     }
                                 }
                             }
@@ -2229,7 +2229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx11x01101xx
                                  ldp.  */
-                              return 739;
+                              return 743;
                             }
                         }
                     }
@@ -2244,7 +2244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx001110xx
                              ldr.  */
-                          return 742;
+                          return 746;
                         }
                       else
                         {
@@ -2258,7 +2258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx0x001111xx
                                          stur.  */
-                                      return 687;
+                                      return 691;
                                     }
                                   else
                                     {
@@ -2266,7 +2266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx1x001111xx
                                          ldur.  */
-                                      return 688;
+                                      return 692;
                                     }
                                 }
                               else
@@ -2277,7 +2277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx0x001111xx
                                          str.  */
-                                      return 663;
+                                      return 667;
                                     }
                                   else
                                     {
@@ -2285,7 +2285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx1x001111xx
                                          ldr.  */
-                                      return 664;
+                                      return 668;
                                     }
                                 }
                             }
@@ -2297,7 +2297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx0x001111xx
                                      str.  */
-                                  return 640;
+                                  return 644;
                                 }
                               else
                                 {
@@ -2305,7 +2305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx1x001111xx
                                      ldr.  */
-                                  return 641;
+                                  return 645;
                                 }
                             }
                         }
@@ -2318,7 +2318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
                              str.  */
-                          return 651;
+                          return 655;
                         }
                       else
                         {
@@ -2326,7 +2326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
                              ldr.  */
-                          return 652;
+                          return 656;
                         }
                     }
                 }
@@ -2351,7 +2351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx000xxxxxxxx0xx011100xx
                                              tbl.  */
-                                          return 337;
+                                          return 341;
                                         }
                                       else
                                         {
@@ -2359,7 +2359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx0xx011100xx
                                              tbx.  */
-                                          return 338;
+                                          return 342;
                                         }
                                     }
                                   else
@@ -2511,7 +2511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxx00xxx0xx01111x0x
                                          fcvtzs.  */
-                                      return 586;
+                                      return 590;
                                     }
                                   else
                                     {
@@ -2519,7 +2519,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxx01xxx0xx01111x0x
                                          scvtf.  */
-                                      return 584;
+                                      return 588;
                                     }
                                 }
                               else
@@ -2530,7 +2530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxx10xxx0xx01111x0x
                                          fcvtzu.  */
-                                      return 587;
+                                      return 591;
                                     }
                                   else
                                     {
@@ -2538,7 +2538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxx11xxx0xx01111x0x
                                          ucvtf.  */
-                                      return 585;
+                                      return 589;
                                     }
                                 }
                             }
@@ -2556,7 +2556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x000xxxxxx0xx01111x1x
                                                  sha1c.  */
-                                              return 536;
+                                              return 540;
                                             }
                                           else
                                             {
@@ -2564,7 +2564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x001xxxxxx0xx01111x1x
                                                  sha256h.  */
-                                              return 540;
+                                              return 544;
                                             }
                                         }
                                       else
@@ -2575,7 +2575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x010xxxxxx0xx01111x1x
                                                  sha1m.  */
-                                              return 538;
+                                              return 542;
                                             }
                                           else
                                             {
@@ -2583,7 +2583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x011xxxxxx0xx01111x1x
                                                  sha256su1.  */
-                                              return 542;
+                                              return 546;
                                             }
                                         }
                                     }
@@ -2597,7 +2597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x100xxxxxx0xx01111x1x
                                                  sha1p.  */
-                                              return 537;
+                                              return 541;
                                             }
                                           else
                                             {
@@ -2605,7 +2605,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x101xxxxxx0xx01111x1x
                                                  sha256h2.  */
-                                              return 541;
+                                              return 545;
                                             }
                                         }
                                       else
@@ -2614,7 +2614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x11xxxxxxx0xx01111x1x
                                              sha1su0.  */
-                                          return 539;
+                                          return 543;
                                         }
                                     }
                                 }
@@ -2624,7 +2624,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxx0xx01111x1x
                                      dup.  */
-                                  return 426;
+                                  return 430;
                                 }
                             }
                         }
@@ -2700,7 +2700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000001xx01111xxx
                                                                          fcvtns.  */
-                                                                      return 588;
+                                                                      return 592;
                                                                     }
                                                                   else
                                                                     {
@@ -2708,7 +2708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000011xx01111xxx
                                                                          fcvtms.  */
-                                                                      return 598;
+                                                                      return 602;
                                                                     }
                                                                 }
                                                               else
@@ -2719,7 +2719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000101xx01111xxx
                                                                          fcvtps.  */
-                                                                      return 596;
+                                                                      return 600;
                                                                     }
                                                                   else
                                                                     {
@@ -2727,7 +2727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000111xx01111xxx
                                                                          fcvtzs.  */
-                                                                      return 600;
+                                                                      return 604;
                                                                     }
                                                                 }
                                                             }
@@ -2737,7 +2737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000001xx1xx01111xxx
                                                                  fcvtas.  */
-                                                              return 592;
+                                                              return 596;
                                                             }
                                                         }
                                                       else
@@ -2748,7 +2748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000010xx1xx01111xxx
                                                                  scvtf.  */
-                                                              return 590;
+                                                              return 594;
                                                             }
                                                           else
                                                             {
@@ -2758,7 +2758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 594;
+                                                                  return 598;
                                                                 }
                                                               else
                                                                 {
@@ -2766,7 +2766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 602;
+                                                                  return 606;
                                                                 }
                                                             }
                                                         }
@@ -2785,7 +2785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100001xx01111xxx
                                                                          fcvtnu.  */
-                                                                      return 589;
+                                                                      return 593;
                                                                     }
                                                                   else
                                                                     {
@@ -2793,7 +2793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100011xx01111xxx
                                                                          fcvtmu.  */
-                                                                      return 599;
+                                                                      return 603;
                                                                     }
                                                                 }
                                                               else
@@ -2804,7 +2804,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100101xx01111xxx
                                                                          fcvtpu.  */
-                                                                      return 597;
+                                                                      return 601;
                                                                     }
                                                                   else
                                                                     {
@@ -2812,7 +2812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100111xx01111xxx
                                                                          fcvtzu.  */
-                                                                      return 601;
+                                                                      return 605;
                                                                     }
                                                                 }
                                                             }
@@ -2822,7 +2822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000101xx1xx01111xxx
                                                                  fcvtau.  */
-                                                              return 593;
+                                                              return 597;
                                                             }
                                                         }
                                                       else
@@ -2833,7 +2833,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000110xx1xx01111xxx
                                                                  ucvtf.  */
-                                                              return 591;
+                                                              return 595;
                                                             }
                                                           else
                                                             {
@@ -2843,7 +2843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 595;
+                                                                  return 599;
                                                                 }
                                                               else
                                                                 {
@@ -2851,7 +2851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 603;
+                                                                  return 607;
                                                                 }
                                                             }
                                                         }
@@ -3001,7 +3001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010000xx1xx01111xxx
                                                                  fmov.  */
-                                                              return 610;
+                                                              return 614;
                                                             }
                                                           else
                                                             {
@@ -3009,7 +3009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010001xx1xx01111xxx
                                                                  frintn.  */
-                                                              return 615;
+                                                              return 619;
                                                             }
                                                         }
                                                       else
@@ -3020,7 +3020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010100xx1xx01111xxx
                                                                  fneg.  */
-                                                              return 612;
+                                                              return 616;
                                                             }
                                                           else
                                                             {
@@ -3028,7 +3028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010101xx1xx01111xxx
                                                                  frintm.  */
-                                                              return 617;
+                                                              return 621;
                                                             }
                                                         }
                                                     }
@@ -3042,7 +3042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011000xx1xx01111xxx
                                                                  fabs.  */
-                                                              return 611;
+                                                              return 615;
                                                             }
                                                           else
                                                             {
@@ -3050,7 +3050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011001xx1xx01111xxx
                                                                  frintp.  */
-                                                              return 616;
+                                                              return 620;
                                                             }
                                                         }
                                                       else
@@ -3061,7 +3061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011100xx1xx01111xxx
                                                                  fsqrt.  */
-                                                              return 613;
+                                                              return 617;
                                                             }
                                                           else
                                                             {
@@ -3069,7 +3069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011101xx1xx01111xxx
                                                                  frintz.  */
-                                                              return 618;
+                                                              return 622;
                                                             }
                                                         }
                                                     }
@@ -3082,7 +3082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00001xx10xx1xx01111xxx
                                                          fcvt.  */
-                                                      return 614;
+                                                      return 618;
                                                     }
                                                   else
                                                     {
@@ -3094,7 +3094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010011xx1xx01111xxx
                                                                  frinta.  */
-                                                              return 619;
+                                                              return 623;
                                                             }
                                                           else
                                                             {
@@ -3102,7 +3102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010111xx1xx01111xxx
                                                                  frintx.  */
-                                                              return 620;
+                                                              return 624;
                                                             }
                                                         }
                                                       else
@@ -3111,7 +3111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011x11xx1xx01111xxx
                                                              frinti.  */
-                                                          return 621;
+                                                          return 625;
                                                         }
                                                     }
                                                 }
@@ -3175,7 +3175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx00xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 606;
+                                                          return 610;
                                                         }
                                                       else
                                                         {
@@ -3183,7 +3183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx01xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 607;
+                                                          return 611;
                                                         }
                                                     }
                                                   else
@@ -3194,7 +3194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx10xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 608;
+                                                          return 612;
                                                         }
                                                       else
                                                         {
@@ -3202,7 +3202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 609;
+                                                          return 613;
                                                         }
                                                     }
                                                 }
@@ -3585,7 +3585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx1xx01111x0x
                                              fmov.  */
-                                          return 635;
+                                          return 639;
                                         }
                                       else
                                         {
@@ -3597,7 +3597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00100xxxxxx1xx01111x1x
                                                      sqdmlal.  */
-                                                  return 339;
+                                                  return 343;
                                                 }
                                               else
                                                 {
@@ -3605,7 +3605,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00101xxxxxx1xx01111x1x
                                                      sqdmull.  */
-                                                  return 341;
+                                                  return 345;
                                                 }
                                             }
                                           else
@@ -3614,7 +3614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0011xxxxxxx1xx01111x1x
                                                  sqdmlsl.  */
-                                              return 340;
+                                              return 344;
                                             }
                                         }
                                     }
@@ -3657,7 +3657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x0x
                                                          fmul.  */
-                                                      return 622;
+                                                      return 626;
                                                     }
                                                   else
                                                     {
@@ -3665,7 +3665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x1x
                                                          sha1h.  */
-                                                      return 533;
+                                                      return 537;
                                                     }
                                                 }
                                             }
@@ -3733,7 +3733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111100x
                                                              fnmul.  */
-                                                          return 630;
+                                                          return 634;
                                                         }
                                                       else
                                                         {
@@ -3741,7 +3741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111101x
                                                              cmgt.  */
-                                                          return 393;
+                                                          return 397;
                                                         }
                                                     }
                                                   else
@@ -3750,7 +3750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010001xxxxx1xx011111xx
                                                          cmge.  */
-                                                      return 411;
+                                                      return 415;
                                                     }
                                                 }
                                             }
@@ -3788,7 +3788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100100xx1x1xx01110xxx
                                                              aese.  */
-                                                          return 529;
+                                                          return 533;
                                                         }
                                                     }
                                                   else
@@ -3843,7 +3843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111100x
                                                              fmax.  */
-                                                          return 626;
+                                                          return 630;
                                                         }
                                                       else
                                                         {
@@ -3851,7 +3851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111101x
                                                              sqxtn.  */
-                                                          return 397;
+                                                          return 401;
                                                         }
                                                     }
                                                   else
@@ -3860,7 +3860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010010xxxxx1xx011111xx
                                                          uqxtn.  */
-                                                      return 415;
+                                                      return 419;
                                                     }
                                                 }
                                             }
@@ -3897,7 +3897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xxx01xx011110xx
                                                                  fcmgt.  */
-                                                              return 402;
+                                                              return 406;
                                                             }
                                                           else
                                                             {
@@ -3905,7 +3905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xxx01xx011111xx
                                                                  fcmge.  */
-                                                              return 421;
+                                                              return 425;
                                                             }
                                                         }
                                                     }
@@ -3927,7 +3927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xxx11x001111xxx
                                                                  fmaxnmp.  */
-                                                              return 429;
+                                                              return 433;
                                                             }
                                                         }
                                                       else
@@ -3946,7 +3946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xxx11x101111xxx
                                                                  fminnmp.  */
-                                                              return 432;
+                                                              return 436;
                                                             }
                                                         }
                                                     }
@@ -3982,7 +3982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xxxx1x0011110xx
                                                                  fcvtas.  */
-                                                              return 400;
+                                                              return 404;
                                                             }
                                                           else
                                                             {
@@ -3990,7 +3990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xxxx1x0011111xx
                                                                  fcvtau.  */
-                                                              return 419;
+                                                              return 423;
                                                             }
                                                         }
                                                     }
@@ -4096,7 +4096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111100x
                                                              fadd.  */
-                                                          return 624;
+                                                          return 628;
                                                         }
                                                       else
                                                         {
@@ -4104,7 +4104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111101x
                                                              sha256su0.  */
-                                                          return 535;
+                                                          return 539;
                                                         }
                                                     }
                                                   else
@@ -4113,7 +4113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010100xxxxx1xx011111xx
                                                          sqxtun.  */
-                                                      return 414;
+                                                      return 418;
                                                     }
                                                 }
                                             }
@@ -4137,7 +4137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101010xxx01xx01111xxx
                                                              cmlt.  */
-                                                          return 395;
+                                                          return 399;
                                                         }
                                                     }
                                                   else
@@ -4193,7 +4193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xxx01x0011110xx
                                                                      fcvtns.  */
-                                                                  return 398;
+                                                                  return 402;
                                                                 }
                                                               else
                                                                 {
@@ -4201,7 +4201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xxx01x0011111xx
                                                                      fcvtnu.  */
-                                                                  return 417;
+                                                                  return 421;
                                                                 }
                                                             }
                                                         }
@@ -4234,7 +4234,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xxx01x1011110xx
                                                                      fcvtps.  */
-                                                                  return 405;
+                                                                  return 409;
                                                                 }
                                                               else
                                                                 {
@@ -4242,7 +4242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xxx01x1011111xx
                                                                      fcvtpu.  */
-                                                                  return 423;
+                                                                  return 427;
                                                                 }
                                                             }
                                                         }
@@ -4302,7 +4302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101100xx1x1xx01110xxx
                                                              aesmc.  */
-                                                          return 531;
+                                                          return 535;
                                                         }
                                                     }
                                                   else
@@ -4355,7 +4355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011110xx
                                                          fmaxnm.  */
-                                                      return 628;
+                                                      return 632;
                                                     }
                                                   else
                                                     {
@@ -4363,7 +4363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011111xx
                                                          fcvtxn.  */
-                                                      return 416;
+                                                      return 420;
                                                     }
                                                 }
                                             }
@@ -4383,7 +4383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx010111xxxxx1xx01111xxx
                                                      fcmlt.  */
-                                                  return 404;
+                                                  return 408;
                                                 }
                                             }
                                         }
@@ -4413,7 +4413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x0x
                                                          fdiv.  */
-                                                      return 623;
+                                                      return 627;
                                                     }
                                                   else
                                                     {
@@ -4421,7 +4421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x1x
                                                          sha1su1.  */
-                                                      return 534;
+                                                      return 538;
                                                     }
                                                 }
                                             }
@@ -4456,7 +4456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011110xx
                                                              cmeq.  */
-                                                          return 394;
+                                                          return 398;
                                                         }
                                                       else
                                                         {
@@ -4464,7 +4464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011111xx
                                                              cmle.  */
-                                                          return 412;
+                                                          return 416;
                                                         }
                                                     }
                                                 }
@@ -4553,7 +4553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011010xxx1x1xx01110xxx
                                                          aesd.  */
-                                                      return 530;
+                                                      return 534;
                                                     }
                                                 }
                                               else
@@ -4562,7 +4562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx011010xxxxx1xx01111xxx
                                                      fmin.  */
-                                                  return 627;
+                                                  return 631;
                                                 }
                                             }
                                           else
@@ -4598,7 +4598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xxx01xx011110xx
                                                                  fcmeq.  */
-                                                              return 403;
+                                                              return 407;
                                                             }
                                                           else
                                                             {
@@ -4606,7 +4606,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xxx01xx011111xx
                                                                  fcmle.  */
-                                                              return 422;
+                                                              return 426;
                                                             }
                                                         }
                                                     }
@@ -4616,7 +4616,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0110110xxx11xx0111xxxx
                                                          faddp.  */
-                                                      return 430;
+                                                      return 434;
                                                     }
                                                 }
                                               else
@@ -4650,7 +4650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110111xxxx1x0011110xx
                                                                  scvtf.  */
-                                                              return 401;
+                                                              return 405;
                                                             }
                                                           else
                                                             {
@@ -4658,7 +4658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110111xxxx1x0011111xx
                                                                  ucvtf.  */
-                                                              return 420;
+                                                              return 424;
                                                             }
                                                         }
                                                     }
@@ -4691,7 +4691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110111xxxx1x1011110xx
                                                                  frecpe.  */
-                                                              return 407;
+                                                              return 411;
                                                             }
                                                           else
                                                             {
@@ -4699,7 +4699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110111xxxx1x1011111xx
                                                                  frsqrte.  */
-                                                              return 425;
+                                                              return 429;
                                                             }
                                                         }
                                                     }
@@ -4786,7 +4786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111100x
                                                              fsub.  */
-                                                          return 625;
+                                                          return 629;
                                                         }
                                                       else
                                                         {
@@ -4794,7 +4794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111101x
                                                              suqadd.  */
-                                                          return 391;
+                                                          return 395;
                                                         }
                                                     }
                                                   else
@@ -4803,7 +4803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011100xxxxx1xx011111xx
                                                          usqadd.  */
-                                                      return 409;
+                                                      return 413;
                                                     }
                                                 }
                                             }
@@ -4838,7 +4838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011110xx
                                                              abs.  */
-                                                          return 396;
+                                                          return 400;
                                                         }
                                                       else
                                                         {
@@ -4846,7 +4846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011111xx
                                                              neg.  */
-                                                          return 413;
+                                                          return 417;
                                                         }
                                                     }
                                                 }
@@ -4883,7 +4883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xxx01x0011110xx
                                                                      fcvtms.  */
-                                                                  return 399;
+                                                                  return 403;
                                                                 }
                                                               else
                                                                 {
@@ -4891,7 +4891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xxx01x0011111xx
                                                                      fcvtmu.  */
-                                                                  return 418;
+                                                                  return 422;
                                                                 }
                                                             }
                                                         }
@@ -4924,7 +4924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xxx01x1011110xx
                                                                      fcvtzs.  */
-                                                                  return 406;
+                                                                  return 410;
                                                                 }
                                                               else
                                                                 {
@@ -4932,7 +4932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xxx01x1011111xx
                                                                      fcvtzu.  */
-                                                                  return 424;
+                                                                  return 428;
                                                                 }
                                                             }
                                                         }
@@ -4953,7 +4953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111011xxx11xx01111xxx
                                                              addp.  */
-                                                          return 428;
+                                                          return 432;
                                                         }
                                                     }
                                                 }
@@ -4992,7 +4992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111100xx1x1xx01110xxx
                                                              aesimc.  */
-                                                          return 532;
+                                                          return 536;
                                                         }
                                                     }
                                                   else
@@ -5025,7 +5025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111100x
                                                              fminnm.  */
-                                                          return 629;
+                                                          return 633;
                                                         }
                                                       else
                                                         {
@@ -5033,7 +5033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111101x
                                                              sqabs.  */
-                                                          return 392;
+                                                          return 396;
                                                         }
                                                     }
                                                   else
@@ -5042,7 +5042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011110xxxxx1xx011111xx
                                                          sqneg.  */
-                                                      return 410;
+                                                      return 414;
                                                     }
                                                 }
                                             }
@@ -5087,7 +5087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111110xxx11x001111xxx
                                                                  fmaxp.  */
-                                                              return 431;
+                                                              return 435;
                                                             }
                                                         }
                                                       else
@@ -5106,7 +5106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111110xxx11x101111xxx
                                                                  fminp.  */
-                                                              return 433;
+                                                              return 437;
                                                             }
                                                         }
                                                     }
@@ -5127,7 +5127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0111111xxxx1xx01111xxx
                                                          frecpx.  */
-                                                      return 408;
+                                                      return 412;
                                                     }
                                                 }
                                             }
@@ -5578,7 +5578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmp.  */
-                                              return 604;
+                                              return 608;
                                             }
                                           else
                                             {
@@ -5586,7 +5586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmpe.  */
-                                              return 605;
+                                              return 609;
                                             }
                                         }
                                       else
@@ -5601,7 +5601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10000xxxxxx1xx0111101x
                                                          add.  */
-                                                      return 447;
+                                                      return 451;
                                                     }
                                                   else
                                                     {
@@ -5609,7 +5609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10001xxxxxx1xx0111101x
                                                          sshl.  */
-                                                      return 445;
+                                                      return 449;
                                                     }
                                                 }
                                               else
@@ -5618,7 +5618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1xx0111101x
                                                      fcmeq.  */
-                                                  return 440;
+                                                  return 444;
                                                 }
                                             }
                                           else
@@ -5629,7 +5629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010xxxxxxx1xx0111101x
                                                      srshl.  */
-                                                  return 446;
+                                                  return 450;
                                                 }
                                               else
                                                 {
@@ -5639,7 +5639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1011x0xxxxx1xx0111101x
                                                          cmgt.  */
-                                                      return 443;
+                                                      return 447;
                                                     }
                                                   else
                                                     {
@@ -5647,7 +5647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1011x1xxxxx1xx0111101x
                                                          sqdmulh.  */
-                                                      return 438;
+                                                      return 442;
                                                     }
                                                 }
                                             }
@@ -5665,7 +5665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10000xxxxxx1xx011111xx
                                                      sub.  */
-                                                  return 463;
+                                                  return 467;
                                                 }
                                               else
                                                 {
@@ -5673,7 +5673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10001xxxxxx1xx011111xx
                                                      ushl.  */
-                                                  return 461;
+                                                  return 465;
                                                 }
                                             }
                                           else
@@ -5684,7 +5684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1x0011111xx
                                                      fcmge.  */
-                                                  return 454;
+                                                  return 458;
                                                 }
                                               else
                                                 {
@@ -5692,7 +5692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1x1011111xx
                                                      fcmgt.  */
-                                                  return 457;
+                                                  return 461;
                                                 }
                                             }
                                         }
@@ -5706,7 +5706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010x0xxxxx1xx011111xx
                                                      urshl.  */
-                                                  return 462;
+                                                  return 466;
                                                 }
                                               else
                                                 {
@@ -5714,7 +5714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010x1xxxxx1xx011111xx
                                                      fabd.  */
-                                                  return 456;
+                                                  return 460;
                                                 }
                                             }
                                           else
@@ -5725,7 +5725,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1011x0xxxxx1xx011111xx
                                                      cmhi.  */
-                                                  return 459;
+                                                  return 463;
                                                 }
                                               else
                                                 {
@@ -5733,7 +5733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1011x1xxxxx1xx011111xx
                                                      sqrdmulh.  */
-                                                  return 453;
+                                                  return 457;
                                                 }
                                             }
                                         }
@@ -6167,7 +6167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx11xxxxxxxxx1xx0111100x
                                              fcsel.  */
-                                          return 636;
+                                          return 640;
                                         }
                                       else
                                         {
@@ -6183,7 +6183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110000xxxxx1xx0111101x
                                                              sqadd.  */
-                                                          return 434;
+                                                          return 438;
                                                         }
                                                       else
                                                         {
@@ -6191,7 +6191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110001xxxxx1xx0111101x
                                                              cmtst.  */
-                                                          return 448;
+                                                          return 452;
                                                         }
                                                     }
                                                   else
@@ -6200,7 +6200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11001xxxxxx1xx0111101x
                                                          sqshl.  */
-                                                      return 436;
+                                                      return 440;
                                                     }
                                                 }
                                               else
@@ -6209,7 +6209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1101xxxxxxx1xx0111101x
                                                      sqsub.  */
-                                                  return 435;
+                                                  return 439;
                                                 }
                                             }
                                           else
@@ -6222,7 +6222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x0xxxxx1xx0111101x
                                                          sqrshl.  */
-                                                      return 437;
+                                                      return 441;
                                                     }
                                                   else
                                                     {
@@ -6230,7 +6230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x1xxxxx1xx0111101x
                                                          fmulx.  */
-                                                      return 439;
+                                                      return 443;
                                                     }
                                                 }
                                               else
@@ -6241,7 +6241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11110xxxxxx1xx0111101x
                                                          cmge.  */
-                                                      return 444;
+                                                      return 448;
                                                     }
                                                   else
                                                     {
@@ -6251,7 +6251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11111xxxxxx1x00111101x
                                                              frecps.  */
-                                                          return 441;
+                                                          return 445;
                                                         }
                                                       else
                                                         {
@@ -6259,7 +6259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11111xxxxxx1x10111101x
                                                              frsqrts.  */
-                                                          return 442;
+                                                          return 446;
                                                         }
                                                     }
                                                 }
@@ -6280,7 +6280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011111xx
                                                          uqadd.  */
-                                                      return 449;
+                                                      return 453;
                                                     }
                                                   else
                                                     {
@@ -6288,7 +6288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011111xx
                                                          cmeq.  */
-                                                      return 464;
+                                                      return 468;
                                                     }
                                                 }
                                               else
@@ -6297,7 +6297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11001xxxxxx1xx011111xx
                                                      uqshl.  */
-                                                  return 451;
+                                                  return 455;
                                                 }
                                             }
                                           else
@@ -6308,7 +6308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11010xxxxxx1xx011111xx
                                                      uqsub.  */
-                                                  return 450;
+                                                  return 454;
                                                 }
                                               else
                                                 {
@@ -6318,7 +6318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11011xxxxxx1x0011111xx
                                                          facge.  */
-                                                      return 455;
+                                                      return 459;
                                                     }
                                                   else
                                                     {
@@ -6326,7 +6326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11011xxxxxx1x1011111xx
                                                          facgt.  */
-                                                      return 458;
+                                                      return 462;
                                                     }
                                                 }
                                             }
@@ -6339,7 +6339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1110xxxxxxx1xx011111xx
                                                  uqrshl.  */
-                                              return 452;
+                                              return 456;
                                             }
                                           else
                                             {
@@ -6347,7 +6347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111xxxxxxx1xx011111xx
                                                  cmhs.  */
-                                              return 460;
+                                              return 464;
                                             }
                                         }
                                     }
@@ -6589,7 +6589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx0xx1111100x
                                          fmadd.  */
-                                      return 631;
+                                      return 635;
                                     }
                                   else
                                     {
@@ -6597,7 +6597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx1xx1111100x
                                          fnmadd.  */
-                                      return 633;
+                                      return 637;
                                     }
                                 }
                               else
@@ -6612,7 +6612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx000xxxxxxxx1111101x
                                                  fmla.  */
-                                              return 347;
+                                              return 351;
                                             }
                                           else
                                             {
@@ -6620,7 +6620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx010xxxxxxxx1111101x
                                                  fmls.  */
-                                              return 348;
+                                              return 352;
                                             }
                                         }
                                       else
@@ -6631,7 +6631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx100xxxxxxxx1111101x
                                                  sqdmlal.  */
-                                              return 342;
+                                              return 346;
                                             }
                                           else
                                             {
@@ -6639,7 +6639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx110xxxxxxxx1111101x
                                                  sqdmlsl.  */
-                                              return 343;
+                                              return 347;
                                             }
                                         }
                                     }
@@ -6653,7 +6653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1x00x0xxxxxxxx1111101x
                                                  sshr.  */
-                                              return 465;
+                                              return 469;
                                             }
                                           else
                                             {
@@ -6661,7 +6661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1x01x0xxxxxxxx1111101x
                                                  srshr.  */
-                                              return 467;
+                                              return 471;
                                             }
                                         }
                                       else
@@ -6674,7 +6674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1000xxxxxxxx1111101x
                                                      ssra.  */
-                                                  return 466;
+                                                  return 470;
                                                 }
                                               else
                                                 {
@@ -6682,7 +6682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1010xxxxxxxx1111101x
                                                      shl.  */
-                                                  return 469;
+                                                  return 473;
                                                 }
                                             }
                                           else
@@ -6693,7 +6693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1100xxxxxxxx1111101x
                                                      srsra.  */
-                                                  return 468;
+                                                  return 472;
                                                 }
                                               else
                                                 {
@@ -6701,7 +6701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1110xxxxxxxx1111101x
                                                      sqshl.  */
-                                                  return 470;
+                                                  return 474;
                                                 }
                                             }
                                         }
@@ -6720,7 +6720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0000xxxxxxxx111111xx
                                              ushr.  */
-                                          return 475;
+                                          return 479;
                                         }
                                       else
                                         {
@@ -6728,7 +6728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0010xxxxxxxx111111xx
                                              sri.  */
-                                          return 479;
+                                          return 483;
                                         }
                                     }
                                   else
@@ -6739,7 +6739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0100xxxxxxxx111111xx
                                              urshr.  */
-                                          return 477;
+                                          return 481;
                                         }
                                       else
                                         {
@@ -6747,7 +6747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0110xxxxxxxx111111xx
                                              sqshlu.  */
-                                          return 481;
+                                          return 485;
                                         }
                                     }
                                 }
@@ -6761,7 +6761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1000xxxxxxxx111111xx
                                              usra.  */
-                                          return 476;
+                                          return 480;
                                         }
                                       else
                                         {
@@ -6769,7 +6769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1010xxxxxxxx111111xx
                                              sli.  */
-                                          return 480;
+                                          return 484;
                                         }
                                     }
                                   else
@@ -6780,7 +6780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1100xxxxxxxx111111xx
                                              ursra.  */
-                                          return 478;
+                                          return 482;
                                         }
                                       else
                                         {
@@ -6788,7 +6788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1110xxxxxxxx111111xx
                                              uqshl.  */
-                                          return 482;
+                                          return 486;
                                         }
                                     }
                                 }
@@ -7057,7 +7057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx110xx1xxxxxxxx1111010x
                                                  sqrshrun.  */
-                                              return 327;
+                                              return 329;
                                             }
                                           else
                                             {
@@ -7065,7 +7065,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx110xx1xxxxxxxx1111011x
                                                  sqrshrun2.  */
-                                              return 328;
+                                              return 330;
                                             }
                                         }
                                     }
@@ -7100,7 +7100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1110x1xxxxxxxx1111010x
                                                      uqrshrn.  */
-                                                  return 331;
+                                                  return 333;
                                                 }
                                               else
                                                 {
@@ -7108,7 +7108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1110x1xxxxxxxx1111011x
                                                      uqrshrn2.  */
-                                                  return 332;
+                                                  return 334;
                                                 }
                                             }
                                         }
@@ -7120,7 +7120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111100xx
                                                  fcvtzs.  */
-                                              return 316;
+                                              return 318;
                                             }
                                           else
                                             {
@@ -7128,7 +7128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111101xx
                                                  fcvtzu.  */
-                                              return 336;
+                                              return 340;
                                             }
                                         }
                                     }
@@ -7147,7 +7147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx0xx1111100x
                                          fmsub.  */
-                                      return 632;
+                                      return 636;
                                     }
                                   else
                                     {
@@ -7155,7 +7155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx1xx1111100x
                                          fnmsub.  */
-                                      return 634;
+                                      return 638;
                                     }
                                 }
                               else
@@ -7168,7 +7168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0xx1xxxxxxxx1111101x
                                              sqdmulh.  */
-                                          return 345;
+                                          return 349;
                                         }
                                       else
                                         {
@@ -7180,7 +7180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x1001xxxxxxxx1111101x
                                                      fmul.  */
-                                                  return 349;
+                                                  return 353;
                                                 }
                                               else
                                                 {
@@ -7188,7 +7188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x1011xxxxxxxx1111101x
                                                      sqrdmulh.  */
-                                                  return 346;
+                                                  return 350;
                                                 }
                                             }
                                           else
@@ -7197,7 +7197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x11x1xxxxxxxx1111101x
                                                  sqdmull.  */
-                                              return 344;
+                                              return 348;
                                             }
                                         }
                                     }
@@ -7211,7 +7211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100xx1xxxxxxxx1111101x
                                                  scvtf.  */
-                                              return 473;
+                                              return 477;
                                             }
                                           else
                                             {
@@ -7219,7 +7219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101xx1xxxxxxxx1111101x
                                                  sqshrn.  */
-                                              return 471;
+                                              return 475;
                                             }
                                         }
                                       else
@@ -7230,7 +7230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x0x1xxxxxxxx1111101x
                                                  sqrshrn.  */
-                                              return 472;
+                                              return 476;
                                             }
                                           else
                                             {
@@ -7238,7 +7238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x1x1xxxxxxxx1111101x
                                                  fcvtzs.  */
-                                              return 474;
+                                              return 478;
                                             }
                                         }
                                     }
@@ -7252,7 +7252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx0xxxx1xxxxxxxx111111xx
                                      fmulx.  */
-                                  return 350;
+                                  return 354;
                                 }
                               else
                                 {
@@ -7266,7 +7266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1000x1xxxxxxxx111111xx
                                                  sqshrun.  */
-                                              return 483;
+                                              return 487;
                                             }
                                           else
                                             {
@@ -7274,7 +7274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1001x1xxxxxxxx111111xx
                                                  ucvtf.  */
-                                              return 487;
+                                              return 491;
                                             }
                                         }
                                       else
@@ -7283,7 +7283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx101xx1xxxxxxxx111111xx
                                              uqshrn.  */
-                                          return 485;
+                                          return 489;
                                         }
                                     }
                                   else
@@ -7294,7 +7294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx110xx1xxxxxxxx111111xx
                                              sqrshrun.  */
-                                          return 484;
+                                          return 488;
                                         }
                                       else
                                         {
@@ -7304,7 +7304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1110x1xxxxxxxx111111xx
                                                  uqrshrn.  */
-                                              return 486;
+                                              return 490;
                                             }
                                           else
                                             {
@@ -7312,7 +7312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111111xx
                                                  fcvtzu.  */
-                                              return 488;
+                                              return 492;
                                             }
                                         }
                                     }
@@ -7343,81 +7343,81 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
   int value;
   switch (key)
     {
-    case 727: value = 731; break;      /* stnp --> stp.  */
-    case 731: return NULL;             /* stp --> NULL.  */
-    case 728: value = 732; break;      /* ldnp --> ldp.  */
-    case 732: return NULL;             /* ldp --> NULL.  */
-    case 351: value = 352; break;      /* st4 --> st1.  */
-    case 352: value = 353; break;      /* st1 --> st2.  */
-    case 353: value = 354; break;      /* st2 --> st3.  */
-    case 354: return NULL;             /* st3 --> NULL.  */
-    case 359: value = 360; break;      /* st4 --> st1.  */
-    case 360: value = 361; break;      /* st1 --> st2.  */
-    case 361: value = 362; break;      /* st2 --> st3.  */
-    case 362: return NULL;             /* st3 --> NULL.  */
-    case 355: value = 356; break;      /* ld4 --> ld1.  */
-    case 356: value = 357; break;      /* ld1 --> ld2.  */
-    case 357: value = 358; break;      /* ld2 --> ld3.  */
-    case 358: return NULL;             /* ld3 --> NULL.  */
-    case 371: value = 373; break;      /* ld1 --> ld1r.  */
-    case 373: return NULL;             /* ld1r --> NULL.  */
-    case 375: value = 377; break;      /* ld2 --> ld2r.  */
-    case 377: return NULL;             /* ld2r --> NULL.  */
-    case 372: value = 374; break;      /* ld3 --> ld3r.  */
-    case 374: return NULL;             /* ld3r --> NULL.  */
-    case 376: value = 378; break;      /* ld4 --> ld4r.  */
-    case 378: return NULL;             /* ld4r --> NULL.  */
-    case 363: value = 364; break;      /* ld4 --> ld1.  */
-    case 364: value = 365; break;      /* ld1 --> ld2.  */
-    case 365: value = 366; break;      /* ld2 --> ld3.  */
-    case 366: return NULL;             /* ld3 --> NULL.  */
-    case 383: value = 385; break;      /* ld1 --> ld1r.  */
-    case 385: return NULL;             /* ld1r --> NULL.  */
-    case 384: value = 386; break;      /* ld3 --> ld3r.  */
-    case 386: return NULL;             /* ld3r --> NULL.  */
-    case 387: value = 389; break;      /* ld2 --> ld2r.  */
-    case 389: return NULL;             /* ld2r --> NULL.  */
-    case 388: value = 390; break;      /* ld4 --> ld4r.  */
-    case 390: return NULL;             /* ld4r --> NULL.  */
+    case 731: value = 735; break;      /* stnp --> stp.  */
+    case 735: return NULL;             /* stp --> NULL.  */
+    case 732: value = 736; break;      /* ldnp --> ldp.  */
+    case 736: return NULL;             /* ldp --> NULL.  */
+    case 355: value = 356; break;      /* st4 --> st1.  */
+    case 356: value = 357; break;      /* st1 --> st2.  */
+    case 357: value = 358; break;      /* st2 --> st3.  */
+    case 358: return NULL;             /* st3 --> NULL.  */
+    case 363: value = 364; break;      /* st4 --> st1.  */
+    case 364: value = 365; break;      /* st1 --> st2.  */
+    case 365: value = 366; break;      /* st2 --> st3.  */
+    case 366: return NULL;             /* st3 --> NULL.  */
+    case 359: value = 360; break;      /* ld4 --> ld1.  */
+    case 360: value = 361; break;      /* ld1 --> ld2.  */
+    case 361: value = 362; break;      /* ld2 --> ld3.  */
+    case 362: return NULL;             /* ld3 --> NULL.  */
+    case 375: value = 377; break;      /* ld1 --> ld1r.  */
+    case 377: return NULL;             /* ld1r --> NULL.  */
+    case 379: value = 381; break;      /* ld2 --> ld2r.  */
+    case 381: return NULL;             /* ld2r --> NULL.  */
+    case 376: value = 378; break;      /* ld3 --> ld3r.  */
+    case 378: return NULL;             /* ld3r --> NULL.  */
+    case 380: value = 382; break;      /* ld4 --> ld4r.  */
+    case 382: return NULL;             /* ld4r --> NULL.  */
+    case 367: value = 368; break;      /* ld4 --> ld1.  */
+    case 368: value = 369; break;      /* ld1 --> ld2.  */
+    case 369: value = 370; break;      /* ld2 --> ld3.  */
+    case 370: return NULL;             /* ld3 --> NULL.  */
+    case 387: value = 389; break;      /* ld1 --> ld1r.  */
+    case 389: return NULL;             /* ld1r --> NULL.  */
+    case 388: value = 390; break;      /* ld3 --> ld3r.  */
+    case 390: return NULL;             /* ld3r --> NULL.  */
+    case 391: value = 393; break;      /* ld2 --> ld2r.  */
+    case 393: return NULL;             /* ld2r --> NULL.  */
+    case 392: value = 394; break;      /* ld4 --> ld4r.  */
+    case 394: return NULL;             /* ld4r --> NULL.  */
     case 120: value = 299; break;      /* movi --> sshr.  */
     case 299: value = 301; break;      /* sshr --> srshr.  */
     case 301: return NULL;             /* srshr --> NULL.  */
-    case 127: value = 317; break;      /* mvni --> ushr.  */
-    case 317: value = 319; break;      /* ushr --> urshr.  */
-    case 319: value = 321; break;      /* urshr --> sri.  */
-    case 321: value = 323; break;      /* sri --> sqshlu.  */
-    case 323: return NULL;             /* sqshlu --> NULL.  */
+    case 127: value = 319; break;      /* mvni --> ushr.  */
+    case 319: value = 321; break;      /* ushr --> urshr.  */
+    case 321: value = 323; break;      /* urshr --> sri.  */
+    case 323: value = 325; break;      /* sri --> sqshlu.  */
+    case 325: return NULL;             /* sqshlu --> NULL.  */
     case 121: value = 300; break;      /* orr --> ssra.  */
     case 300: value = 302; break;      /* ssra --> srsra.  */
     case 302: value = 303; break;      /* srsra --> shl.  */
     case 303: value = 304; break;      /* shl --> sqshl.  */
     case 304: return NULL;             /* sqshl --> NULL.  */
-    case 128: value = 318; break;      /* bic --> usra.  */
-    case 318: value = 320; break;      /* usra --> ursra.  */
-    case 320: value = 322; break;      /* ursra --> sli.  */
-    case 322: value = 324; break;      /* sli --> uqshl.  */
-    case 324: return NULL;             /* uqshl --> NULL.  */
+    case 128: value = 320; break;      /* bic --> usra.  */
+    case 320: value = 322; break;      /* usra --> ursra.  */
+    case 322: value = 324; break;      /* ursra --> sli.  */
+    case 324: value = 326; break;      /* sli --> uqshl.  */
+    case 326: return NULL;             /* uqshl --> NULL.  */
     case 122: value = 305; break;      /* movi --> shrn.  */
     case 305: value = 306; break;      /* shrn --> shrn2.  */
     case 306: value = 313; break;      /* shrn2 --> sshll.  */
-    case 313: value = 314; break;      /* sshll --> sshll2.  */
-    case 314: return NULL;             /* sshll2 --> NULL.  */
-    case 129: value = 325; break;      /* mvni --> sqshrun.  */
-    case 325: value = 326; break;      /* sqshrun --> sqshrun2.  */
-    case 326: value = 333; break;      /* sqshrun2 --> ushll.  */
-    case 333: value = 334; break;      /* ushll --> ushll2.  */
-    case 334: return NULL;             /* ushll2 --> NULL.  */
+    case 313: value = 315; break;      /* sshll --> sshll2.  */
+    case 315: return NULL;             /* sshll2 --> NULL.  */
+    case 129: value = 327; break;      /* mvni --> sqshrun.  */
+    case 327: value = 328; break;      /* sqshrun --> sqshrun2.  */
+    case 328: value = 335; break;      /* sqshrun2 --> ushll.  */
+    case 335: value = 337; break;      /* ushll --> ushll2.  */
+    case 337: return NULL;             /* ushll2 --> NULL.  */
     case 123: value = 309; break;      /* orr --> sqshrn.  */
     case 309: value = 310; break;      /* sqshrn --> sqshrn2.  */
     case 310: return NULL;             /* sqshrn2 --> NULL.  */
-    case 130: value = 329; break;      /* bic --> uqshrn.  */
-    case 329: value = 330; break;      /* uqshrn --> uqshrn2.  */
-    case 330: return NULL;             /* uqshrn2 --> NULL.  */
-    case 125: value = 315; break;      /* movi --> scvtf.  */
-    case 315: return NULL;             /* scvtf --> NULL.  */
+    case 130: value = 331; break;      /* bic --> uqshrn.  */
+    case 331: value = 332; break;      /* uqshrn --> uqshrn2.  */
+    case 332: return NULL;             /* uqshrn2 --> NULL.  */
+    case 125: value = 317; break;      /* movi --> scvtf.  */
+    case 317: return NULL;             /* scvtf --> NULL.  */
     case 132: value = 133; break;      /* movi --> movi.  */
-    case 133: value = 335; break;      /* movi --> ucvtf.  */
-    case 335: return NULL;             /* ucvtf --> NULL.  */
+    case 133: value = 339; break;      /* movi --> ucvtf.  */
+    case 339: return NULL;             /* ucvtf --> NULL.  */
     default: return NULL;
     }
 
@@ -7447,46 +7447,50 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 142: value = 143; break;      /* ins --> mov.  */
     case 203: value = 204; break;      /* not --> mvn.  */
     case 258: value = 259; break;      /* orr --> mov.  */
-    case 426: value = 427; break;      /* dup --> mov.  */
-    case 489: value = 494; break;      /* sbfm --> sxtw.  */
-    case 496: value = 498; break;      /* bfm --> bfxil.  */
-    case 499: value = 503; break;      /* ubfm --> uxth.  */
-    case 521: value = 523; break;      /* csinc --> cset.  */
-    case 524: value = 526; break;      /* csinv --> csetm.  */
-    case 527: value = 528; break;      /* csneg --> cneg.  */
-    case 552: value = 553; break;      /* lslv --> lsl.  */
-    case 554: value = 555; break;      /* lsrv --> lsr.  */
-    case 556: value = 557; break;      /* asrv --> asr.  */
-    case 558: value = 559; break;      /* rorv --> ror.  */
-    case 560: value = 561; break;      /* madd --> mul.  */
-    case 562: value = 563; break;      /* msub --> mneg.  */
-    case 564: value = 565; break;      /* smaddl --> smull.  */
-    case 566: value = 567; break;      /* smsubl --> smnegl.  */
-    case 569: value = 570; break;      /* umaddl --> umull.  */
-    case 571: value = 572; break;      /* umsubl --> umnegl.  */
-    case 582: value = 583; break;      /* extr --> ror.  */
-    case 681: value = 683; break;      /* sturb --> strb.  */
-    case 682: value = 684; break;      /* ldurb --> ldrb.  */
-    case 685: value = 686; break;      /* ldursb --> ldrsb.  */
-    case 687: value = 689; break;      /* stur --> str.  */
-    case 688: value = 690; break;      /* ldur --> ldr.  */
-    case 691: value = 693; break;      /* sturh --> strh.  */
-    case 692: value = 694; break;      /* ldurh --> ldrh.  */
-    case 695: value = 696; break;      /* ldursh --> ldrsh.  */
-    case 697: value = 699; break;      /* stur --> str.  */
-    case 698: value = 700; break;      /* ldur --> ldr.  */
-    case 701: value = 702; break;      /* ldursw --> ldrsw.  */
-    case 703: value = 704; break;      /* prfum --> prfm.  */
-    case 745: value = 746; break;      /* and --> bic.  */
-    case 747: value = 748; break;      /* orr --> mov.  */
-    case 750: value = 751; break;      /* ands --> tst.  */
-    case 754: value = 756; break;      /* orr --> uxtw.  */
-    case 757: value = 758; break;      /* orn --> mvn.  */
-    case 761: value = 762; break;      /* ands --> tst.  */
-    case 764: value = 765; break;      /* movn --> mov.  */
-    case 766: value = 767; break;      /* movz --> mov.  */
-    case 772: value = 778; break;      /* hint --> sevl.  */
-    case 783: value = 787; break;      /* sys --> tlbi.  */
+    case 313: value = 314; break;      /* sshll --> sxtl.  */
+    case 315: value = 316; break;      /* sshll2 --> sxtl2.  */
+    case 335: value = 336; break;      /* ushll --> uxtl.  */
+    case 337: value = 338; break;      /* ushll2 --> uxtl2.  */
+    case 430: value = 431; break;      /* dup --> mov.  */
+    case 493: value = 498; break;      /* sbfm --> sxtw.  */
+    case 500: value = 502; break;      /* bfm --> bfxil.  */
+    case 503: value = 507; break;      /* ubfm --> uxth.  */
+    case 525: value = 527; break;      /* csinc --> cset.  */
+    case 528: value = 530; break;      /* csinv --> csetm.  */
+    case 531: value = 532; break;      /* csneg --> cneg.  */
+    case 556: value = 557; break;      /* lslv --> lsl.  */
+    case 558: value = 559; break;      /* lsrv --> lsr.  */
+    case 560: value = 561; break;      /* asrv --> asr.  */
+    case 562: value = 563; break;      /* rorv --> ror.  */
+    case 564: value = 565; break;      /* madd --> mul.  */
+    case 566: value = 567; break;      /* msub --> mneg.  */
+    case 568: value = 569; break;      /* smaddl --> smull.  */
+    case 570: value = 571; break;      /* smsubl --> smnegl.  */
+    case 573: value = 574; break;      /* umaddl --> umull.  */
+    case 575: value = 576; break;      /* umsubl --> umnegl.  */
+    case 586: value = 587; break;      /* extr --> ror.  */
+    case 685: value = 687; break;      /* sturb --> strb.  */
+    case 686: value = 688; break;      /* ldurb --> ldrb.  */
+    case 689: value = 690; break;      /* ldursb --> ldrsb.  */
+    case 691: value = 693; break;      /* stur --> str.  */
+    case 692: value = 694; break;      /* ldur --> ldr.  */
+    case 695: value = 697; break;      /* sturh --> strh.  */
+    case 696: value = 698; break;      /* ldurh --> ldrh.  */
+    case 699: value = 700; break;      /* ldursh --> ldrsh.  */
+    case 701: value = 703; break;      /* stur --> str.  */
+    case 702: value = 704; break;      /* ldur --> ldr.  */
+    case 705: value = 706; break;      /* ldursw --> ldrsw.  */
+    case 707: value = 708; break;      /* prfum --> prfm.  */
+    case 749: value = 750; break;      /* and --> bic.  */
+    case 751: value = 752; break;      /* orr --> mov.  */
+    case 754: value = 755; break;      /* ands --> tst.  */
+    case 758: value = 760; break;      /* orr --> uxtw.  */
+    case 761: value = 762; break;      /* orn --> mvn.  */
+    case 765: value = 766; break;      /* ands --> tst.  */
+    case 768: value = 769; break;      /* movn --> mov.  */
+    case 770: value = 771; break;      /* movz --> mov.  */
+    case 776: value = 782; break;      /* hint --> sevl.  */
+    case 787: value = 791; break;      /* sys --> tlbi.  */
     default: return NULL;
     }
 
@@ -7502,28 +7506,28 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
   switch (key)
     {
     case 26: value = 25; break;        /* negs --> cmp.  */
-    case 494: value = 493; break;      /* sxtw --> sxth.  */
-    case 493: value = 492; break;      /* sxth --> sxtb.  */
-    case 492: value = 495; break;      /* sxtb --> asr.  */
-    case 495: value = 491; break;      /* asr --> sbfx.  */
-    case 491: value = 490; break;      /* sbfx --> sbfiz.  */
-    case 498: value = 497; break;      /* bfxil --> bfi.  */
-    case 503: value = 502; break;      /* uxth --> uxtb.  */
-    case 502: value = 505; break;      /* uxtb --> lsr.  */
-    case 505: value = 504; break;      /* lsr --> lsl.  */
-    case 504: value = 501; break;      /* lsl --> ubfx.  */
-    case 501: value = 500; break;      /* ubfx --> ubfiz.  */
-    case 523: value = 522; break;      /* cset --> cinc.  */
-    case 526: value = 525; break;      /* csetm --> cinv.  */
-    case 756: value = 755; break;      /* uxtw --> mov.  */
-    case 778: value = 777; break;      /* sevl --> sev.  */
-    case 777: value = 776; break;      /* sev --> wfi.  */
-    case 776: value = 775; break;      /* wfi --> wfe.  */
-    case 775: value = 774; break;      /* wfe --> yield.  */
-    case 774: value = 773; break;      /* yield --> nop.  */
-    case 787: value = 786; break;      /* tlbi --> ic.  */
-    case 786: value = 785; break;      /* ic --> dc.  */
-    case 785: value = 784; break;      /* dc --> at.  */
+    case 498: value = 497; break;      /* sxtw --> sxth.  */
+    case 497: value = 496; break;      /* sxth --> sxtb.  */
+    case 496: value = 499; break;      /* sxtb --> asr.  */
+    case 499: value = 495; break;      /* asr --> sbfx.  */
+    case 495: value = 494; break;      /* sbfx --> sbfiz.  */
+    case 502: value = 501; break;      /* bfxil --> bfi.  */
+    case 507: value = 506; break;      /* uxth --> uxtb.  */
+    case 506: value = 509; break;      /* uxtb --> lsr.  */
+    case 509: value = 508; break;      /* lsr --> lsl.  */
+    case 508: value = 505; break;      /* lsl --> ubfx.  */
+    case 505: value = 504; break;      /* ubfx --> ubfiz.  */
+    case 527: value = 526; break;      /* cset --> cinc.  */
+    case 530: value = 529; break;      /* csetm --> cinv.  */
+    case 760: value = 759; break;      /* uxtw --> mov.  */
+    case 782: value = 781; break;      /* sevl --> sev.  */
+    case 781: value = 780; break;      /* sev --> wfi.  */
+    case 780: value = 779; break;      /* wfi --> wfe.  */
+    case 779: value = 778; break;      /* wfe --> yield.  */
+    case 778: value = 777; break;      /* yield --> nop.  */
+    case 791: value = 790; break;      /* tlbi --> ic.  */
+    case 790: value = 789; break;      /* ic --> dc.  */
+    case 789: value = 788; break;      /* dc --> at.  */
     default: return NULL;
     }
 
index bbd5a3e8a46430ed728c8544eb50b63d92e7c59b..d8bd29010bd32f5d217be64c4086634627435619 100644 (file)
@@ -1,5 +1,5 @@
 /* aarch64-dis.c -- AArch64 disassembler.
-   Copyright 2009, 2010, 2011, 2012  Free Software Foundation, Inc.
+   Copyright 2009, 2010, 2011, 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -1478,6 +1478,20 @@ convert_extr_to_ror (aarch64_inst *inst)
   return 0;
 }
 
+/* UXTL<Q> <Vd>.<Ta>, <Vn>.<Tb>
+     is equivalent to:
+   USHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #0.  */
+static int
+convert_shll_to_xtl (aarch64_inst *inst)
+{
+  if (inst->operands[2].imm.value == 0)
+    {
+      inst->operands[2].type = AARCH64_OPND_NIL;
+      return 1;
+    }
+  return 0;
+}
+
 /* Convert
      UBFM <Xd>, <Xn>, #<shift>, #63.
    to
@@ -1731,6 +1745,11 @@ convert_to_alias (aarch64_inst *inst, const aarch64_opcode *alias)
       return convert_movebitmask_to_mov (inst);
     case OP_ROR_IMM:
       return convert_extr_to_ror (inst);
+    case OP_SXTL:
+    case OP_SXTL2:
+    case OP_UXTL:
+    case OP_UXTL2:
+      return convert_shll_to_xtl (inst);
     default:
       return 0;
     }
index 95bd0165f86888453b1c580eebc1c5bd906ac95f..66e2f0f4a9ad13fb1acc7e99ec60bd14745ffc21 100644 (file)
@@ -1,6 +1,6 @@
 /* aarch64-gen.c -- Generate tables and routines for opcode lookup and
    instruction encoding and decoding.
-   Copyright 2012  Free Software Foundation, Inc.
+   Copyright 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -1242,7 +1242,7 @@ main (int argc, char **argv)
     print_divide_result (decoder_tree);
 
   printf ("/* This file is automatically generated by aarch64-gen.  Do not edit!  */\n");
-  printf ("/* Copyright 2012  Free Software Foundation, Inc.\n\
+  printf ("/* Copyright 2012, 2013  Free Software Foundation, Inc.\n\
    Contributed by ARM Ltd.\n\
 \n\
    This file is part of the GNU opcodes library.\n\
index 68681f6a1cfb1b0dc0d85e5d56214eda52b2d20c..0b4263dc0f74c0084467b5444f6884e5e8842c28 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright 2012  Free Software Foundation, Inc.
+/* Copyright 2012, 2013  Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -119,70 +119,73 @@ const struct aarch64_operand aarch64_operands[] =
 static const unsigned op_enum_table [] =
 {
   0,
-  648,
-  649,
-  650,
+  652,
   653,
   654,
-  655,
-  656,
   657,
-  651,
-  652,
   658,
   659,
-  681,
-  682,
+  660,
+  661,
+  655,
+  656,
+  662,
+  663,
   685,
-  691,
-  692,
+  686,
+  689,
   695,
-  697,
-  698,
-  687,
-  688,
+  696,
+  699,
   701,
-  703,
-  741,
-  742,
-  743,
-  744,
+  702,
+  691,
+  692,
+  705,
+  707,
+  745,
+  746,
+  747,
+  748,
   12,
-  506,
-  507,
-  764,
-  766,
+  510,
+  511,
   768,
-  748,
-  767,
-  765,
+  770,
+  772,
+  752,
+  771,
+  769,
   259,
-  495,
+  499,
+  509,
+  508,
+  750,
   505,
-  504,
-  746,
-  501,
-  498,
-  491,
-  490,
-  497,
-  500,
   502,
-  503,
-  756,
-  125,
-  522,
-  525,
-  528,
-  523,
+  495,
+  494,
+  501,
+  504,
+  506,
+  507,
+  760,
   526,
-  614,
+  529,
+  532,
+  527,
+  530,
+  618,
   160,
   161,
   162,
   163,
-  416,
-  583,
+  420,
+  587,
+  314,
+  316,
+  336,
+  338,
 };
 
 /* Given the opcode enumerator OP, return the pointer to the corresponding
index e2906f8312eeb2738ae28efcb8473afaf839d144..678ba78dd429b6295a3b7022e3179632de732b10 100644 (file)
@@ -1534,8 +1534,10 @@ struct aarch64_opcode aarch64_opcode_table[] =
   {"sqshrn2", 0x4f009400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
   {"sqrshrn", 0xf009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0},
   {"sqrshrn2", 0x4f009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
-  {"sshll", 0xf00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, 0},
-  {"sshll2", 0x4f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, 0},
+  {"sshll", 0xf00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, F_HAS_ALIAS},
+  {"sxtl", 0xf00a400, 0xff87fc00, asimdshf, OP_SXTL, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS, F_ALIAS | F_CONV},
+  {"sshll2", 0x4f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, F_HAS_ALIAS},
+  {"sxtl2", 0x4f00a400, 0xff87fc00, asimdshf, OP_SXTL2, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS2, F_ALIAS | F_CONV},
   {"scvtf", 0xf00e400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
   {"fcvtzs", 0xf00fc00, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
   {"ushr", 0x2f000400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0},
@@ -1554,8 +1556,10 @@ struct aarch64_opcode aarch64_opcode_table[] =
   {"uqshrn2", 0x6f009400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
   {"uqrshrn", 0x2f009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0},
   {"uqrshrn2", 0x6f009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
-  {"ushll", 0x2f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, 0},
-  {"ushll2", 0x6f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, 0},
+  {"ushll", 0x2f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, F_HAS_ALIAS},
+  {"uxtl", 0x2f00a400, 0xff87fc00, asimdshf, OP_UXTL, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS, F_ALIAS | F_CONV},
+  {"ushll2", 0x6f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, F_HAS_ALIAS},
+  {"uxtl2", 0x6f00a400, 0xff87fc00, asimdshf, OP_UXTL2, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS2, F_ALIAS | F_CONV},
   {"ucvtf", 0x2f00e400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
   {"fcvtzu", 0x2f00fc00, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
   /* AdvSIMD TBL/TBX.  */