[AArch64][PATCH 3/3] Add floating-point FP16 instructions
authorMatthew Wahab <matthew.wahab@arm.com>
Fri, 27 Nov 2015 16:32:21 +0000 (16:32 +0000)
committerMatthew Wahab <matthew.wahab@arm.com>
Fri, 27 Nov 2015 16:32:21 +0000 (16:32 +0000)
ARMv8.2 adds 16-bit floating point operations as an optional extension
to the ARMv8 FP support. This patch adds the new FP16 instructions,
making them available when the architecture extension +fp+fp16 is
specified.

The instructions added are:

- Comparisons and conditionals: FCMP, FCCMPE, FCMP, FCMPE and FCSEL.
- Arithmetic: FABS, FNEG, FSQRT, FMUL, FDIV, FADD, FSUB, FMADD, FMSUB,
  FNMADD and FNMSUB.
- Rounding: FRINTN, FRINTP, FRINTM, FRINTZ, FRINTA, FRINTX and FRINTI.
- Conversions: SCVTF (fixed-point), SCVTF (integer), UCVTF (fixed-point)
  UCVTF (integer), FCVTZS (fixed-point), FCVTZS (integer), FCVTZU
  (fixed-point), FCVTZU (integer), FCVTNS, FCVTNU, FCVTAS, FCVTAU,
  FCVTPS, FCVTPU, FCVTMS and  FCVTMU.
- Scalar FMOV: immediate, general and register

gas/testsuite/
2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>

* gas/aarch64/float-fp16.d: New.
* gas/aarch64/float-fp16.s: New.

opcodes/
2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>

* aarch64-asm-2.c: Regenerate.
* aarch64-dis-2.c: Regenerate.
* aarch64-opc-2.c: Regenerate.
* aarch64-tbl.h (QL_FIX2FP_H, QL_FP2FIX_H): New.
(QL_INT2FP_H, QL_FP2INT_H): New.
(QL_FP2_H, QL_FP3_H, QL_FP4_H): New
(QL_DST_H): New.
(QL_FCCMP_H): New.
(aarch64_opcode_table): Add 16-bit variants of scvt, ucvtf,
fcvtzs, fcvtzu, fcvtns, fcvtnu, scvtf, ucvtf, fcvtas, fcvtau,
fmov, fcvtpos, fcvtpu, fcvtms, fcvtmu, fcvtzs, fcvtzu, fccmp,
fccmpe, fcmp, fcmpe, fabs, fneg, fsqrt, frintn, frintp, frintm,
frintz, frinta, frintx, frinti, fmul, fdiv, fadd, fsub, fmax,
fmin, fmaxnm, fminnm, fnmul, fmadd, fmsub, fnmadd, fnmsub and
fcsel.

Change-Id: Ie6d40bd1b215a9bc024e12ba75e52afbe1675eb7

gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/float-fp16.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/float-fp16.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/aarch64-asm-2.c
opcodes/aarch64-dis-2.c
opcodes/aarch64-opc-2.c
opcodes/aarch64-tbl.h

index 1f1b863..e73a977 100644 (file)
@@ -1,5 +1,10 @@
 2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>
 
+       * gas/aarch64/float-fp16.d: New.
+       * gas/aarch64/float-fp16.s: New.
+
+2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>
+
        * gas/aarch64/alias-2.d: Add tests for REV.
        * gas/aarch64/alias-2.s: Likewise.
 
diff --git a/gas/testsuite/gas/aarch64/float-fp16.d b/gas/testsuite/gas/aarch64/float-fp16.d
new file mode 100644 (file)
index 0000000..dc87981
--- /dev/null
@@ -0,0 +1,172 @@
+#as: -march=armv8.2-a+fp16
+#objdump: -dr
+
+.*:     file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+   [0-9a-f]+:  1e200400        fccmp   s0, s0, #0x0, eq
+   [0-9a-f]+:  1ee00400        fccmp   h0, h0, #0x0, eq
+   [0-9a-f]+:  1e22d420        fccmp   s1, s2, #0x0, le
+   [0-9a-f]+:  1ee2d420        fccmp   h1, h2, #0x0, le
+  [0-9a-f]+:   1e200410        fccmpe  s0, s0, #0x0, eq
+  [0-9a-f]+:   1ee00410        fccmpe  h0, h0, #0x0, eq
+  [0-9a-f]+:   1e22d430        fccmpe  s1, s2, #0x0, le
+  [0-9a-f]+:   1ee2d430        fccmpe  h1, h2, #0x0, le
+  [0-9a-f]+:   1e202000        fcmp    s0, s0
+  [0-9a-f]+:   1ee02000        fcmp    h0, h0
+  [0-9a-f]+:   1e222020        fcmp    s1, s2
+  [0-9a-f]+:   1ee22020        fcmp    h1, h2
+  [0-9a-f]+:   1e202010        fcmpe   s0, s0
+  [0-9a-f]+:   1ee02010        fcmpe   h0, h0
+  [0-9a-f]+:   1e222030        fcmpe   s1, s2
+  [0-9a-f]+:   1ee22030        fcmpe   h1, h2
+  [0-9a-f]+:   1e202008        fcmp    s0, #0\.0
+  [0-9a-f]+:   1ee02008        fcmp    h0, #0\.0
+  [0-9a-f]+:   1e202018        fcmpe   s0, #0\.0
+  [0-9a-f]+:   1ee02018        fcmpe   h0, #0\.0
+  [0-9a-f]+:   1e210c00        fcsel   s0, s0, s1, eq
+  [0-9a-f]+:   1ee10c00        fcsel   h0, h0, h1, eq
+  [0-9a-f]+:   9ee60000        fmov    x0, h0
+  [0-9a-f]+:   1ee60000        fmov    w0, h0
+  [0-9a-f]+:   9ee70001        fmov    h1, x0
+  [0-9a-f]+:   1ee70001        fmov    h1, w0
+  [0-9a-f]+:   1ee0c020        fabs    h0, h1
+  [0-9a-f]+:   1e20c020        fabs    s0, s1
+  [0-9a-f]+:   1e60c020        fabs    d0, d1
+  [0-9a-f]+:   1ee14020        fneg    h0, h1
+  [0-9a-f]+:   1e214020        fneg    s0, s1
+  [0-9a-f]+:   1e614020        fneg    d0, d1
+  [0-9a-f]+:   1ee1c020        fsqrt   h0, h1
+  [0-9a-f]+:   1e21c020        fsqrt   s0, s1
+  [0-9a-f]+:   1e61c020        fsqrt   d0, d1
+  [0-9a-f]+:   1ee44020        frintn  h0, h1
+  [0-9a-f]+:   1e244020        frintn  s0, s1
+  [0-9a-f]+:   1e644020        frintn  d0, d1
+  [0-9a-f]+:   1ee4c020        frintp  h0, h1
+  [0-9a-f]+:   1e24c020        frintp  s0, s1
+  [0-9a-f]+:   1e64c020        frintp  d0, d1
+  [0-9a-f]+:   1ee54020        frintm  h0, h1
+  [0-9a-f]+:   1e254020        frintm  s0, s1
+  [0-9a-f]+:   1e654020        frintm  d0, d1
+  [0-9a-f]+:   1ee5c020        frintz  h0, h1
+  [0-9a-f]+:   1e25c020        frintz  s0, s1
+  [0-9a-f]+:   1e65c020        frintz  d0, d1
+  [0-9a-f]+:   1ee64020        frinta  h0, h1
+  [0-9a-f]+:   1e264020        frinta  s0, s1
+  [0-9a-f]+:   1e664020        frinta  d0, d1
+  [0-9a-f]+:   1ee74020        frintx  h0, h1
+  [0-9a-f]+:   1e274020        frintx  s0, s1
+  [0-9a-f]+:   1e674020        frintx  d0, d1
+  [0-9a-f]+:   1ee7c020        frinti  h0, h1
+  [0-9a-f]+:   1e27c020        frinti  s0, s1
+  [0-9a-f]+:   1e67c020        frinti  d0, d1
+  [0-9a-f]+:   1ee20820        fmul    h0, h1, h2
+  [0-9a-f]+:   1e220820        fmul    s0, s1, s2
+  [0-9a-f]+:   1e620820        fmul    d0, d1, d2
+  [0-9a-f]+:   1ee21820        fdiv    h0, h1, h2
+  [0-9a-f]+:   1e221820        fdiv    s0, s1, s2
+  [0-9a-f]+:   1e621820        fdiv    d0, d1, d2
+  [0-9a-f]+:   1ee22820        fadd    h0, h1, h2
+  [0-9a-f]+:   1e222820        fadd    s0, s1, s2
+ [0-9a-f]+:    1e622820        fadd    d0, d1, d2
+ [0-9a-f]+:    1ee23820        fsub    h0, h1, h2
+ [0-9a-f]+:    1e223820        fsub    s0, s1, s2
+ [0-9a-f]+:    1e623820        fsub    d0, d1, d2
+ [0-9a-f]+:    1ee24820        fmax    h0, h1, h2
+ [0-9a-f]+:    1e224820        fmax    s0, s1, s2
+ [0-9a-f]+:    1e624820        fmax    d0, d1, d2
+ [0-9a-f]+:    1ee25820        fmin    h0, h1, h2
+ [0-9a-f]+:    1e225820        fmin    s0, s1, s2
+ [0-9a-f]+:    1e625820        fmin    d0, d1, d2
+ [0-9a-f]+:    1ee26820        fmaxnm  h0, h1, h2
+ [0-9a-f]+:    1e226820        fmaxnm  s0, s1, s2
+ [0-9a-f]+:    1e626820        fmaxnm  d0, d1, d2
+ [0-9a-f]+:    1ee27820        fminnm  h0, h1, h2
+ [0-9a-f]+:    1e227820        fminnm  s0, s1, s2
+ [0-9a-f]+:    1e627820        fminnm  d0, d1, d2
+ [0-9a-f]+:    1ee28820        fnmul   h0, h1, h2
+ [0-9a-f]+:    1e228820        fnmul   s0, s1, s2
+ [0-9a-f]+:    1e628820        fnmul   d0, d1, d2
+ [0-9a-f]+:    1fc20c20        fmadd   h0, h1, h2, h3
+ [0-9a-f]+:    1f020c20        fmadd   s0, s1, s2, s3
+ [0-9a-f]+:    1f420c20        fmadd   d0, d1, d2, d3
+ [0-9a-f]+:    1fc28c20        fmsub   h0, h1, h2, h3
+ [0-9a-f]+:    1f028c20        fmsub   s0, s1, s2, s3
+ [0-9a-f]+:    1f428c20        fmsub   d0, d1, d2, d3
+ [0-9a-f]+:    1fe20c20        fnmadd  h0, h1, h2, h3
+ [0-9a-f]+:    1f220c20        fnmadd  s0, s1, s2, s3
+ [0-9a-f]+:    1f620c20        fnmadd  d0, d1, d2, d3
+ [0-9a-f]+:    1fe28c20        fnmsub  h0, h1, h2, h3
+ [0-9a-f]+:    1f228c20        fnmsub  s0, s1, s2, s3
+ [0-9a-f]+:    1f628c20        fnmsub  d0, d1, d2, d3
+ [0-9a-f]+:    1e2e1000        fmov    s0, #1\.000000000000000000e\+00
+ [0-9a-f]+:    1eee1000        fmov    h0, #1\.000000000000000000e\+00
+ [0-9a-f]+:    1e02f820        scvtf   s0, w1, #2
+ [0-9a-f]+:    9e02f420        scvtf   s0, x1, #3
+ [0-9a-f]+:    1ec2f820        scvtf   h0, w1, #2
+ [0-9a-f]+:    9ec2f420        scvtf   h0, x1, #3
+ [0-9a-f]+:    1e03f820        ucvtf   s0, w1, #2
+ [0-9a-f]+:    9e03f420        ucvtf   s0, x1, #3
+ [0-9a-f]+:    1ec3f820        ucvtf   h0, w1, #2
+ [0-9a-f]+:    9ec3f420        ucvtf   h0, x1, #3
+ [0-9a-f]+:    1e58f801        fcvtzs  w1, d0, #2
+ [0-9a-f]+:    9e58f401        fcvtzs  x1, d0, #3
+ [0-9a-f]+:    1ed8f801        fcvtzs  w1, h0, #2
+ [0-9a-f]+:    9ed8f401        fcvtzs  x1, h0, #3
+ [0-9a-f]+:    1e59f801        fcvtzu  w1, d0, #2
+ [0-9a-f]+:    9e59f401        fcvtzu  x1, d0, #3
+ [0-9a-f]+:    1ed9f801        fcvtzu  w1, h0, #2
+ [0-9a-f]+:    9ed9f401        fcvtzu  x1, h0, #3
+ [0-9a-f]+:    1e200001        fcvtns  w1, s0
+ [0-9a-f]+:    9e600001        fcvtns  x1, d0
+ [0-9a-f]+:    1ee00001        fcvtns  w1, h0
+ [0-9a-f]+:    9ee00001        fcvtns  x1, h0
+ [0-9a-f]+:    1e210001        fcvtnu  w1, s0
+ [0-9a-f]+:    9e610001        fcvtnu  x1, d0
+ [0-9a-f]+:    1ee10001        fcvtnu  w1, h0
+ [0-9a-f]+:    9ee10001        fcvtnu  x1, h0
+ [0-9a-f]+:    1e250001        fcvtau  w1, s0
+ [0-9a-f]+:    9e650001        fcvtau  x1, d0
+ [0-9a-f]+:    1ee50001        fcvtau  w1, h0
+ [0-9a-f]+:    9ee50001        fcvtau  x1, h0
+ [0-9a-f]+:    1e240001        fcvtas  w1, s0
+ [0-9a-f]+:    9e640001        fcvtas  x1, d0
+ [0-9a-f]+:    1ee40001        fcvtas  w1, h0
+ [0-9a-f]+:    9ee40001        fcvtas  x1, h0
+ [0-9a-f]+:    1e280001        fcvtps  w1, s0
+ [0-9a-f]+:    9e680001        fcvtps  x1, d0
+ [0-9a-f]+:    1ee80001        fcvtps  w1, h0
+ [0-9a-f]+:    9ee80001        fcvtps  x1, h0
+ [0-9a-f]+:    1e290001        fcvtpu  w1, s0
+ [0-9a-f]+:    9e690001        fcvtpu  x1, d0
+ [0-9a-f]+:    1ee90001        fcvtpu  w1, h0
+ [0-9a-f]+:    9ee90001        fcvtpu  x1, h0
+ [0-9a-f]+:    1e300001        fcvtms  w1, s0
+ [0-9a-f]+:    9e700001        fcvtms  x1, d0
+ [0-9a-f]+:    1ef00001        fcvtms  w1, h0
+ [0-9a-f]+:    9ef00001        fcvtms  x1, h0
+ [0-9a-f]+:    1e310001        fcvtmu  w1, s0
+ [0-9a-f]+:    9e710001        fcvtmu  x1, d0
+ [0-9a-f]+:    1ef10001        fcvtmu  w1, h0
+ [0-9a-f]+:    9ef10001        fcvtmu  x1, h0
+ [0-9a-f]+:    1e220020        scvtf   s0, w1
+ [0-9a-f]+:    9e620020        scvtf   d0, x1
+ [0-9a-f]+:    1ee20020        scvtf   h0, w1
+ [0-9a-f]+:    9ee20020        scvtf   h0, x1
+ [0-9a-f]+:    1e230020        ucvtf   s0, w1
+ [0-9a-f]+:    9e630020        ucvtf   d0, x1
+ [0-9a-f]+:    1ee30020        ucvtf   h0, w1
+ [0-9a-f]+:    9ee30020        ucvtf   h0, x1
+ [0-9a-f]+:    1e604020        fmov    d0, d1
+ [0-9a-f]+:    1e204020        fmov    s0, s1
+ [0-9a-f]+:    1ee04020        fmov    h0, h1
+ [0-9a-f]+:    9ee60020        fmov    x0, h1
+ [0-9a-f]+:    1ee60020        fmov    w0, h1
+ [0-9a-f]+:    9ee70001        fmov    h1, x0
+ [0-9a-f]+:    1ee70001        fmov    h1, w0
+ [0-9a-f]+:    1e260020        fmov    w0, s1
+ [0-9a-f]+:    9e660020        fmov    x0, d1
+ [0-9a-f]+:    1e270001        fmov    s1, w0
+ [0-9a-f]+:    9e670001        fmov    d1, x0
diff --git a/gas/testsuite/gas/aarch64/float-fp16.s b/gas/testsuite/gas/aarch64/float-fp16.s
new file mode 100644 (file)
index 0000000..0c30038
--- /dev/null
@@ -0,0 +1,151 @@
+/* Test file for AArch64 half-precision floating-point instructions.  */
+
+       .text
+       fccmp s0, s0, #0, eq
+       fccmp h0, h0, #0, eq
+       fccmp s1, s2, #0, le
+       fccmp h1, h2, #0, le
+
+       fccmpe s0, s0, #0, eq
+       fccmpe h0, h0, #0, eq
+       fccmpe s1, s2, #0, le
+       fccmpe h1, h2, #0, le
+
+       fcmp s0, s0
+       fcmp h0, h0
+       fcmp s1, s2
+       fcmp h1, h2
+
+       fcmpe s0, s0
+       fcmpe h0, h0
+       fcmpe s1, s2
+       fcmpe h1, h2
+
+       fcmp s0, #0.0
+       fcmp h0, #0.0
+
+       fcmpe s0, #0.0
+       fcmpe h0, #0.0
+
+       fcsel s0, s0, s1, eq
+       fcsel h0, h0, h1, eq
+
+       fmov x0, h0
+       fmov w0, h0
+       fmov h1, x0
+       fmov h1, w0
+
+       /* Scalar data-processing with one source.  */
+       .macro sdp1src op
+       \op     h0, h1
+       \op     s0, s1
+       \op     d0, d1
+       .endm
+
+       .text
+       .irp op, fabs, fneg, fsqrt, frintn, frintp, frintm, frintz
+       sdp1src \op
+       .endr
+
+       .irp op, frinta, frintx, frinti
+       sdp1src \op
+       .endr
+
+       /* Scalar data-processing with two sources.  */
+       .macro sdp2src op
+       \op     h0, h1, h2
+       \op     s0, s1, s2
+       \op     d0, d1, d2
+       .endm
+
+       .text
+       .irp op, fmul, fdiv, fadd, fsub, fmax, fmin, fmaxnm, fminnm, fnmul
+       sdp2src \op
+       .endr
+
+       /* Scalar data-processing with three sources.  */
+       .macro sdp3src op
+       \op     h0, h1, h2, h3
+       \op     s0, s1, s2, s3
+       \op     d0, d1, d2, d3
+       .endm
+
+       .text
+       .irp op, fmadd, fmsub, fnmadd, fnmsub
+       sdp3src \op
+       .endr
+
+       /* Scalar conversion.  */
+
+       .macro scvt_fix2fp op
+       \op     s0, w1, #2
+       \op     s0, x1, #3
+       \op     h0, w1, #2
+       \op     h0, x1, #3
+       .endm
+
+       .macro scvt_fp2fix op
+       \op     w1, d0, #2
+       \op     x1, d0, #3
+       \op     w1, h0, #2
+       \op     x1, h0, #3
+       .endm
+
+       .text
+
+       fmov s0, #1.0
+       fmov h0, #1.0
+
+       .irp op, scvtf, ucvtf
+       scvt_fix2fp \op
+       .endr
+
+       .irp op, fcvtzs, fcvtzu
+       scvt_fp2fix \op
+       .endr
+
+       .macro scvt_fp2int op
+       \op w1, s0
+       \op x1, d0
+       \op w1, h0
+       \op x1, h0
+       .endm
+
+       .macro scvt_int2fp op
+       \op s0, w1
+       \op d0, x1
+       \op h0, w1
+       \op h0, x1
+       .endm
+
+       .text
+       .irp op, fcvtns, fcvtnu, fcvtau, fcvtas
+       scvt_fp2int \op
+       .endr
+
+       .text
+       .irp op, fcvtps, fcvtpu, fcvtms, fcvtmu
+       scvt_fp2int \op
+       .endr
+
+       .irp op, scvtf, ucvtf
+       scvt_int2fp \op
+       .endr
+
+       /* FMOV.  */
+
+       fmov d0, d1
+       fmov s0, s1
+       fmov h0, h1
+
+       fmov x0, h1
+       fmov w0, h1
+
+       fmov h1, x0
+       fmov h1, w0
+
+       fmov w0, s1
+       fmov x0, d1
+
+       fmov s1, w0
+       fmov d1, x0
index 36b3d56..8024b52 100644 (file)
@@ -1,5 +1,23 @@
 2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>
 
+       * aarch64-asm-2.c: Regenerate.
+       * aarch64-dis-2.c: Regenerate.
+       * aarch64-opc-2.c: Regenerate.
+       * aarch64-tbl.h (QL_FIX2FP_H, QL_FP2FIX_H): New.
+       (QL_INT2FP_H, QL_FP2INT_H): New.
+       (QL_FP2_H, QL_FP3_H, QL_FP4_H): New
+       (QL_DST_H): New.
+       (QL_FCCMP_H): New.
+       (aarch64_opcode_table): Add 16-bit variants of scvt, ucvtf,
+       fcvtzs, fcvtzu, fcvtns, fcvtnu, scvtf, ucvtf, fcvtas, fcvtau,
+       fmov, fcvtpos, fcvtpu, fcvtms, fcvtmu, fcvtzs, fcvtzu, fccmp,
+       fccmpe, fcmp, fcmpe, fabs, fneg, fsqrt, frintn, frintp, frintm,
+       frintz, frinta, frintx, frinti, fmul, fdiv, fadd, fsub, fmax,
+       fmin, fmaxnm, fminnm, fnmul, fmadd, fmsub, fnmadd, fnmsub and
+       fcsel.
+
+2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>
+
        * aarch64-opc.c (half_conv_t): New.
         (expand_fp_imm): Replace is_dp flag with the parameter size to
        specify the number of bytes for the required expansion.  Treat
index 51a8860..64bc136 100644 (file)
@@ -197,246 +197,246 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
     case 604:  /* extr */
       value = 604;     /* --> extr.  */
       break;
-    case 762:  /* bic */
-    case 761:  /* and */
-      value = 761;     /* --> and.  */
-      break;
-    case 764:  /* mov */
-    case 763:  /* orr */
-      value = 763;     /* --> orr.  */
-      break;
-    case 767:  /* tst */
-    case 766:  /* ands */
-      value = 766;     /* --> ands.  */
-      break;
-    case 772:  /* uxtw */
-    case 771:  /* mov */
-    case 770:  /* orr */
-      value = 770;     /* --> orr.  */
+    case 812:  /* bic */
+    case 811:  /* and */
+      value = 811;     /* --> and.  */
+      break;
+    case 814:  /* mov */
+    case 813:  /* orr */
+      value = 813;     /* --> orr.  */
+      break;
+    case 817:  /* tst */
+    case 816:  /* ands */
+      value = 816;     /* --> ands.  */
+      break;
+    case 822:  /* uxtw */
+    case 821:  /* mov */
+    case 820:  /* orr */
+      value = 820;     /* --> orr.  */
       break;
-    case 774:  /* mvn */
-    case 773:  /* orn */
-      value = 773;     /* --> orn.  */
+    case 824:  /* mvn */
+    case 823:  /* orn */
+      value = 823;     /* --> orn.  */
       break;
-    case 778:  /* tst */
-    case 777:  /* ands */
-      value = 777;     /* --> ands.  */
+    case 828:  /* tst */
+    case 827:  /* ands */
+      value = 827;     /* --> ands.  */
       break;
-    case 904:  /* staddb */
-    case 808:  /* ldaddb */
-      value = 808;     /* --> ldaddb.  */
+    case 954:  /* staddb */
+    case 858:  /* ldaddb */
+      value = 858;     /* --> ldaddb.  */
       break;
-    case 905:  /* staddh */
-    case 809:  /* ldaddh */
-      value = 809;     /* --> ldaddh.  */
+    case 955:  /* staddh */
+    case 859:  /* ldaddh */
+      value = 859;     /* --> ldaddh.  */
       break;
-    case 906:  /* stadd */
-    case 810:  /* ldadd */
-      value = 810;     /* --> ldadd.  */
+    case 956:  /* stadd */
+    case 860:  /* ldadd */
+      value = 860;     /* --> ldadd.  */
       break;
-    case 907:  /* staddlb */
-    case 812:  /* ldaddlb */
-      value = 812;     /* --> ldaddlb.  */
+    case 957:  /* staddlb */
+    case 862:  /* ldaddlb */
+      value = 862;     /* --> ldaddlb.  */
       break;
-    case 908:  /* staddlh */
-    case 815:  /* ldaddlh */
-      value = 815;     /* --> ldaddlh.  */
+    case 958:  /* staddlh */
+    case 865:  /* ldaddlh */
+      value = 865;     /* --> ldaddlh.  */
       break;
-    case 909:  /* staddl */
-    case 818:  /* ldaddl */
-      value = 818;     /* --> ldaddl.  */
+    case 959:  /* staddl */
+    case 868:  /* ldaddl */
+      value = 868;     /* --> ldaddl.  */
       break;
-    case 910:  /* stclrb */
-    case 820:  /* ldclrb */
-      value = 820;     /* --> ldclrb.  */
+    case 960:  /* stclrb */
+    case 870:  /* ldclrb */
+      value = 870;     /* --> ldclrb.  */
       break;
-    case 911:  /* stclrh */
-    case 821:  /* ldclrh */
-      value = 821;     /* --> ldclrh.  */
+    case 961:  /* stclrh */
+    case 871:  /* ldclrh */
+      value = 871;     /* --> ldclrh.  */
       break;
-    case 912:  /* stclr */
-    case 822:  /* ldclr */
-      value = 822;     /* --> ldclr.  */
+    case 962:  /* stclr */
+    case 872:  /* ldclr */
+      value = 872;     /* --> ldclr.  */
       break;
-    case 913:  /* stclrlb */
-    case 824:  /* ldclrlb */
-      value = 824;     /* --> ldclrlb.  */
+    case 963:  /* stclrlb */
+    case 874:  /* ldclrlb */
+      value = 874;     /* --> ldclrlb.  */
       break;
-    case 914:  /* stclrlh */
-    case 827:  /* ldclrlh */
-      value = 827;     /* --> ldclrlh.  */
+    case 964:  /* stclrlh */
+    case 877:  /* ldclrlh */
+      value = 877;     /* --> ldclrlh.  */
       break;
-    case 915:  /* stclrl */
-    case 830:  /* ldclrl */
-      value = 830;     /* --> ldclrl.  */
+    case 965:  /* stclrl */
+    case 880:  /* ldclrl */
+      value = 880;     /* --> ldclrl.  */
       break;
-    case 916:  /* steorb */
-    case 832:  /* ldeorb */
-      value = 832;     /* --> ldeorb.  */
+    case 966:  /* steorb */
+    case 882:  /* ldeorb */
+      value = 882;     /* --> ldeorb.  */
       break;
-    case 917:  /* steorh */
-    case 833:  /* ldeorh */
-      value = 833;     /* --> ldeorh.  */
+    case 967:  /* steorh */
+    case 883:  /* ldeorh */
+      value = 883;     /* --> ldeorh.  */
       break;
-    case 918:  /* steor */
-    case 834:  /* ldeor */
-      value = 834;     /* --> ldeor.  */
+    case 968:  /* steor */
+    case 884:  /* ldeor */
+      value = 884;     /* --> ldeor.  */
       break;
-    case 919:  /* steorlb */
-    case 836:  /* ldeorlb */
-      value = 836;     /* --> ldeorlb.  */
+    case 969:  /* steorlb */
+    case 886:  /* ldeorlb */
+      value = 886;     /* --> ldeorlb.  */
       break;
-    case 920:  /* steorlh */
-    case 839:  /* ldeorlh */
-      value = 839;     /* --> ldeorlh.  */
+    case 970:  /* steorlh */
+    case 889:  /* ldeorlh */
+      value = 889;     /* --> ldeorlh.  */
       break;
-    case 921:  /* steorl */
-    case 842:  /* ldeorl */
-      value = 842;     /* --> ldeorl.  */
+    case 971:  /* steorl */
+    case 892:  /* ldeorl */
+      value = 892;     /* --> ldeorl.  */
       break;
-    case 922:  /* stsetb */
-    case 844:  /* ldsetb */
-      value = 844;     /* --> ldsetb.  */
+    case 972:  /* stsetb */
+    case 894:  /* ldsetb */
+      value = 894;     /* --> ldsetb.  */
       break;
-    case 923:  /* stseth */
-    case 845:  /* ldseth */
-      value = 845;     /* --> ldseth.  */
+    case 973:  /* stseth */
+    case 895:  /* ldseth */
+      value = 895;     /* --> ldseth.  */
       break;
-    case 924:  /* stset */
-    case 846:  /* ldset */
-      value = 846;     /* --> ldset.  */
+    case 974:  /* stset */
+    case 896:  /* ldset */
+      value = 896;     /* --> ldset.  */
       break;
-    case 925:  /* stsetlb */
-    case 848:  /* ldsetlb */
-      value = 848;     /* --> ldsetlb.  */
+    case 975:  /* stsetlb */
+    case 898:  /* ldsetlb */
+      value = 898;     /* --> ldsetlb.  */
       break;
-    case 926:  /* stsetlh */
-    case 851:  /* ldsetlh */
-      value = 851;     /* --> ldsetlh.  */
+    case 976:  /* stsetlh */
+    case 901:  /* ldsetlh */
+      value = 901;     /* --> ldsetlh.  */
       break;
-    case 927:  /* stsetl */
-    case 854:  /* ldsetl */
-      value = 854;     /* --> ldsetl.  */
+    case 977:  /* stsetl */
+    case 904:  /* ldsetl */
+      value = 904;     /* --> ldsetl.  */
       break;
-    case 928:  /* stsmaxb */
-    case 856:  /* ldsmaxb */
-      value = 856;     /* --> ldsmaxb.  */
+    case 978:  /* stsmaxb */
+    case 906:  /* ldsmaxb */
+      value = 906;     /* --> ldsmaxb.  */
       break;
-    case 929:  /* stsmaxh */
-    case 857:  /* ldsmaxh */
-      value = 857;     /* --> ldsmaxh.  */
+    case 979:  /* stsmaxh */
+    case 907:  /* ldsmaxh */
+      value = 907;     /* --> ldsmaxh.  */
       break;
-    case 930:  /* stsmax */
-    case 858:  /* ldsmax */
-      value = 858;     /* --> ldsmax.  */
-      break;
-    case 931:  /* stsmaxlb */
-    case 860:  /* ldsmaxlb */
-      value = 860;     /* --> ldsmaxlb.  */
-      break;
-    case 932:  /* stsmaxlh */
-    case 863:  /* ldsmaxlh */
-      value = 863;     /* --> ldsmaxlh.  */
-      break;
-    case 933:  /* stsmaxl */
-    case 866:  /* ldsmaxl */
-      value = 866;     /* --> ldsmaxl.  */
-      break;
-    case 934:  /* stsminb */
-    case 868:  /* ldsminb */
-      value = 868;     /* --> ldsminb.  */
-      break;
-    case 935:  /* stsminh */
-    case 869:  /* ldsminh */
-      value = 869;     /* --> ldsminh.  */
-      break;
-    case 936:  /* stsmin */
-    case 870:  /* ldsmin */
-      value = 870;     /* --> ldsmin.  */
-      break;
-    case 937:  /* stsminlb */
-    case 872:  /* ldsminlb */
-      value = 872;     /* --> ldsminlb.  */
-      break;
-    case 938:  /* stsminlh */
-    case 875:  /* ldsminlh */
-      value = 875;     /* --> ldsminlh.  */
-      break;
-    case 939:  /* stsminl */
-    case 878:  /* ldsminl */
-      value = 878;     /* --> ldsminl.  */
-      break;
-    case 940:  /* stumaxb */
-    case 880:  /* ldumaxb */
-      value = 880;     /* --> ldumaxb.  */
-      break;
-    case 941:  /* stumaxh */
-    case 881:  /* ldumaxh */
-      value = 881;     /* --> ldumaxh.  */
-      break;
-    case 942:  /* stumax */
-    case 882:  /* ldumax */
-      value = 882;     /* --> ldumax.  */
-      break;
-    case 943:  /* stumaxlb */
-    case 884:  /* ldumaxlb */
-      value = 884;     /* --> ldumaxlb.  */
-      break;
-    case 944:  /* stumaxlh */
-    case 887:  /* ldumaxlh */
-      value = 887;     /* --> ldumaxlh.  */
-      break;
-    case 945:  /* stumaxl */
-    case 890:  /* ldumaxl */
-      value = 890;     /* --> ldumaxl.  */
-      break;
-    case 946:  /* stuminb */
-    case 892:  /* lduminb */
-      value = 892;     /* --> lduminb.  */
-      break;
-    case 947:  /* stuminh */
-    case 893:  /* lduminh */
-      value = 893;     /* --> lduminh.  */
-      break;
-    case 948:  /* stumin */
-    case 894:  /* ldumin */
-      value = 894;     /* --> ldumin.  */
-      break;
-    case 949:  /* stuminlb */
-    case 896:  /* lduminlb */
-      value = 896;     /* --> lduminlb.  */
-      break;
-    case 950:  /* stuminlh */
-    case 899:  /* lduminlh */
-      value = 899;     /* --> lduminlh.  */
-      break;
-    case 951:  /* stuminl */
-    case 902:  /* lduminl */
-      value = 902;     /* --> lduminl.  */
-      break;
-    case 953:  /* mov */
-    case 952:  /* movn */
-      value = 952;     /* --> movn.  */
-      break;
-    case 955:  /* mov */
-    case 954:  /* movz */
-      value = 954;     /* --> movz.  */
-      break;
-    case 966:  /* sevl */
-    case 965:  /* sev */
-    case 964:  /* wfi */
-    case 963:  /* wfe */
-    case 962:  /* yield */
-    case 961:  /* nop */
-    case 960:  /* hint */
-      value = 960;     /* --> hint.  */
-      break;
-    case 975:  /* tlbi */
-    case 974:  /* ic */
-    case 973:  /* dc */
-    case 972:  /* at */
-    case 971:  /* sys */
-      value = 971;     /* --> sys.  */
+    case 980:  /* stsmax */
+    case 908:  /* ldsmax */
+      value = 908;     /* --> ldsmax.  */
+      break;
+    case 981:  /* stsmaxlb */
+    case 910:  /* ldsmaxlb */
+      value = 910;     /* --> ldsmaxlb.  */
+      break;
+    case 982:  /* stsmaxlh */
+    case 913:  /* ldsmaxlh */
+      value = 913;     /* --> ldsmaxlh.  */
+      break;
+    case 983:  /* stsmaxl */
+    case 916:  /* ldsmaxl */
+      value = 916;     /* --> ldsmaxl.  */
+      break;
+    case 984:  /* stsminb */
+    case 918:  /* ldsminb */
+      value = 918;     /* --> ldsminb.  */
+      break;
+    case 985:  /* stsminh */
+    case 919:  /* ldsminh */
+      value = 919;     /* --> ldsminh.  */
+      break;
+    case 986:  /* stsmin */
+    case 920:  /* ldsmin */
+      value = 920;     /* --> ldsmin.  */
+      break;
+    case 987:  /* stsminlb */
+    case 922:  /* ldsminlb */
+      value = 922;     /* --> ldsminlb.  */
+      break;
+    case 988:  /* stsminlh */
+    case 925:  /* ldsminlh */
+      value = 925;     /* --> ldsminlh.  */
+      break;
+    case 989:  /* stsminl */
+    case 928:  /* ldsminl */
+      value = 928;     /* --> ldsminl.  */
+      break;
+    case 990:  /* stumaxb */
+    case 930:  /* ldumaxb */
+      value = 930;     /* --> ldumaxb.  */
+      break;
+    case 991:  /* stumaxh */
+    case 931:  /* ldumaxh */
+      value = 931;     /* --> ldumaxh.  */
+      break;
+    case 992:  /* stumax */
+    case 932:  /* ldumax */
+      value = 932;     /* --> ldumax.  */
+      break;
+    case 993:  /* stumaxlb */
+    case 934:  /* ldumaxlb */
+      value = 934;     /* --> ldumaxlb.  */
+      break;
+    case 994:  /* stumaxlh */
+    case 937:  /* ldumaxlh */
+      value = 937;     /* --> ldumaxlh.  */
+      break;
+    case 995:  /* stumaxl */
+    case 940:  /* ldumaxl */
+      value = 940;     /* --> ldumaxl.  */
+      break;
+    case 996:  /* stuminb */
+    case 942:  /* lduminb */
+      value = 942;     /* --> lduminb.  */
+      break;
+    case 997:  /* stuminh */
+    case 943:  /* lduminh */
+      value = 943;     /* --> lduminh.  */
+      break;
+    case 998:  /* stumin */
+    case 944:  /* ldumin */
+      value = 944;     /* --> ldumin.  */
+      break;
+    case 999:  /* stuminlb */
+    case 946:  /* lduminlb */
+      value = 946;     /* --> lduminlb.  */
+      break;
+    case 1000: /* stuminlh */
+    case 949:  /* lduminlh */
+      value = 949;     /* --> lduminlh.  */
+      break;
+    case 1001: /* stuminl */
+    case 952:  /* lduminl */
+      value = 952;     /* --> lduminl.  */
+      break;
+    case 1003: /* mov */
+    case 1002: /* movn */
+      value = 1002;    /* --> movn.  */
+      break;
+    case 1005: /* mov */
+    case 1004: /* movz */
+      value = 1004;    /* --> movz.  */
+      break;
+    case 1016: /* sevl */
+    case 1015: /* sev */
+    case 1014: /* wfi */
+    case 1013: /* wfe */
+    case 1012: /* yield */
+    case 1011: /* nop */
+    case 1010: /* hint */
+      value = 1010;    /* --> hint.  */
+      break;
+    case 1025: /* tlbi */
+    case 1024: /* ic */
+    case 1023: /* dc */
+    case 1022: /* at */
+    case 1021: /* sys */
+      value = 1021;    /* --> sys.  */
       break;
     default: return NULL;
     }
index 57630d5..9dfa7e4 100644 (file)
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
                          adr.  */
-                      return 957;
+                      return 1007;
                     }
                   else
                     {
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
                          adrp.  */
-                      return 958;
+                      return 1008;
                     }
                 }
               else
@@ -115,7 +115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010000
                                                  stxrb.  */
-                                              return 715;
+                                              return 765;
                                             }
                                           else
                                             {
@@ -123,7 +123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010010
                                                  stxrh.  */
-                                              return 721;
+                                              return 771;
                                             }
                                         }
                                       else
@@ -132,7 +132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx000x00100x1
                                              stxr.  */
-                                          return 727;
+                                          return 777;
                                         }
                                     }
                                   else
@@ -143,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx100x00100x0
                                              casp.  */
-                                          return 792;
+                                          return 842;
                                         }
                                       else
                                         {
@@ -151,7 +151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx100x00100x1
                                              stxp.  */
-                                          return 729;
+                                          return 779;
                                         }
                                     }
                                 }
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010000
                                                  stlxrb.  */
-                                              return 716;
+                                              return 766;
                                             }
                                           else
                                             {
@@ -175,7 +175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010010
                                                  stlxrh.  */
-                                              return 722;
+                                              return 772;
                                             }
                                         }
                                       else
@@ -184,7 +184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx000x00100x1
                                              stlxr.  */
-                                          return 728;
+                                          return 778;
                                         }
                                     }
                                   else
@@ -195,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx100x00100x0
                                              caspl.  */
-                                          return 794;
+                                          return 844;
                                         }
                                       else
                                         {
@@ -203,7 +203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx100x00100x1
                                              stlxp.  */
-                                          return 730;
+                                          return 780;
                                         }
                                     }
                                 }
@@ -214,7 +214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx00x00101xx
                                  stnp.  */
-                              return 743;
+                              return 793;
                             }
                         }
                       else
@@ -231,7 +231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx001x00100x0
                                              stllrb.  */
-                                          return 741;
+                                          return 791;
                                         }
                                       else
                                         {
@@ -239,7 +239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx001x00100x1
                                              stllr.  */
-                                          return 740;
+                                          return 790;
                                         }
                                     }
                                   else
@@ -252,7 +252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx101x0010000
                                                  casb.  */
-                                              return 780;
+                                              return 830;
                                             }
                                           else
                                             {
@@ -260,7 +260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx101x0010010
                                                  cash.  */
-                                              return 781;
+                                              return 831;
                                             }
                                         }
                                       else
@@ -269,7 +269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx101x00100x1
                                              cas.  */
-                                          return 782;
+                                          return 832;
                                         }
                                     }
                                 }
@@ -285,7 +285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx001x0010000
                                                  stlrb.  */
-                                              return 719;
+                                              return 769;
                                             }
                                           else
                                             {
@@ -293,7 +293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx001x0010010
                                                  stlrh.  */
-                                              return 725;
+                                              return 775;
                                             }
                                         }
                                       else
@@ -302,7 +302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx001x00100x1
                                              stlr.  */
-                                          return 735;
+                                          return 785;
                                         }
                                     }
                                   else
@@ -315,7 +315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx101x0010000
                                                  caslb.  */
-                                              return 784;
+                                              return 834;
                                             }
                                           else
                                             {
@@ -323,7 +323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx101x0010010
                                                  caslh.  */
-                                              return 787;
+                                              return 837;
                                             }
                                         }
                                       else
@@ -332,7 +332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx101x00100x1
                                              casl.  */
-                                          return 790;
+                                          return 840;
                                         }
                                     }
                                 }
@@ -343,7 +343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x00101xx
                                  stp.  */
-                              return 752;
+                              return 802;
                             }
                         }
                     }
@@ -365,7 +365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010000
                                                  ldxrb.  */
-                                              return 717;
+                                              return 767;
                                             }
                                           else
                                             {
@@ -373,7 +373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010010
                                                  ldxrh.  */
-                                              return 723;
+                                              return 773;
                                             }
                                         }
                                       else
@@ -382,7 +382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx010x00100x1
                                              ldxr.  */
-                                          return 731;
+                                          return 781;
                                         }
                                     }
                                   else
@@ -393,7 +393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx110x00100x0
                                              caspa.  */
-                                          return 793;
+                                          return 843;
                                         }
                                       else
                                         {
@@ -401,7 +401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx110x00100x1
                                              ldxp.  */
-                                          return 733;
+                                          return 783;
                                         }
                                     }
                                 }
@@ -417,7 +417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010000
                                                  ldaxrb.  */
-                                              return 718;
+                                              return 768;
                                             }
                                           else
                                             {
@@ -425,7 +425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010010
                                                  ldaxrh.  */
-                                              return 724;
+                                              return 774;
                                             }
                                         }
                                       else
@@ -434,7 +434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx010x00100x1
                                              ldaxr.  */
-                                          return 732;
+                                          return 782;
                                         }
                                     }
                                   else
@@ -445,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx110x00100x0
                                              caspal.  */
-                                          return 795;
+                                          return 845;
                                         }
                                       else
                                         {
@@ -453,7 +453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx110x00100x1
                                              ldaxp.  */
-                                          return 734;
+                                          return 784;
                                         }
                                     }
                                 }
@@ -466,7 +466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001010x
                                      ldnp.  */
-                                  return 744;
+                                  return 794;
                                 }
                               else
                                 {
@@ -474,7 +474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001011x
                                      ldpsw.  */
-                                  return 751;
+                                  return 801;
                                 }
                             }
                         }
@@ -494,7 +494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx011x0010000
                                                  ldlarb.  */
-                                              return 738;
+                                              return 788;
                                             }
                                           else
                                             {
@@ -502,7 +502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx011x0010010
                                                  ldlarh.  */
-                                              return 739;
+                                              return 789;
                                             }
                                         }
                                       else
@@ -511,7 +511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx011x00100x1
                                              ldlar.  */
-                                          return 737;
+                                          return 787;
                                         }
                                     }
                                   else
@@ -524,7 +524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx111x0010000
                                                  casab.  */
-                                              return 783;
+                                              return 833;
                                             }
                                           else
                                             {
@@ -532,7 +532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx111x0010010
                                                  casah.  */
-                                              return 786;
+                                              return 836;
                                             }
                                         }
                                       else
@@ -541,7 +541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx111x00100x1
                                              casa.  */
-                                          return 789;
+                                          return 839;
                                         }
                                     }
                                 }
@@ -557,7 +557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx011x0010000
                                                  ldarb.  */
-                                              return 720;
+                                              return 770;
                                             }
                                           else
                                             {
@@ -565,7 +565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx011x0010010
                                                  ldarh.  */
-                                              return 726;
+                                              return 776;
                                             }
                                         }
                                       else
@@ -574,7 +574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx011x00100x1
                                              ldar.  */
-                                          return 736;
+                                          return 786;
                                         }
                                     }
                                   else
@@ -587,7 +587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx111x0010000
                                                  casalb.  */
-                                              return 785;
+                                              return 835;
                                             }
                                           else
                                             {
@@ -595,7 +595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx111x0010010
                                                  casalh.  */
-                                              return 788;
+                                              return 838;
                                             }
                                         }
                                       else
@@ -604,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx111x00100x1
                                              casal.  */
-                                          return 791;
+                                          return 841;
                                         }
                                     }
                                 }
@@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001010x
                                      ldp.  */
-                                  return 753;
+                                  return 803;
                                 }
                               else
                                 {
@@ -625,7 +625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001011x
                                      ldpsw.  */
-                                  return 756;
+                                  return 806;
                                 }
                             }
                         }
@@ -643,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxxx000110x0
                                  ldr.  */
-                              return 757;
+                              return 807;
                             }
                           else
                             {
@@ -653,7 +653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011001
                                      ldrsw.  */
-                                  return 759;
+                                  return 809;
                                 }
                               else
                                 {
@@ -661,7 +661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011011
                                      prfm.  */
-                                  return 760;
+                                  return 810;
                                 }
                             }
                         }
@@ -685,7 +685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx00000011100
                                                          sturb.  */
-                                                      return 703;
+                                                      return 753;
                                                     }
                                                   else
                                                     {
@@ -693,7 +693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx00000011110
                                                          sturh.  */
-                                                      return 708;
+                                                      return 758;
                                                     }
                                                 }
                                               else
@@ -702,7 +702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx000000111x1
                                                      stur.  */
-                                                  return 711;
+                                                  return 761;
                                                 }
                                             }
                                           else
@@ -715,7 +715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx01000011100
                                                          ldurb.  */
-                                                      return 704;
+                                                      return 754;
                                                     }
                                                   else
                                                     {
@@ -723,7 +723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx01000011110
                                                          ldurh.  */
-                                                      return 709;
+                                                      return 759;
                                                     }
                                                 }
                                               else
@@ -732,7 +732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx010000111x1
                                                      ldur.  */
-                                                  return 712;
+                                                  return 762;
                                                 }
                                             }
                                         }
@@ -746,7 +746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011100
                                                      ldursb.  */
-                                                  return 705;
+                                                  return 755;
                                                 }
                                               else
                                                 {
@@ -754,7 +754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011101
                                                      ldursw.  */
-                                                  return 713;
+                                                  return 763;
                                                 }
                                             }
                                           else
@@ -765,7 +765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011110
                                                      ldursh.  */
-                                                  return 710;
+                                                  return 760;
                                                 }
                                               else
                                                 {
@@ -773,7 +773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011111
                                                      prfum.  */
-                                                  return 714;
+                                                  return 764;
                                                 }
                                             }
                                         }
@@ -800,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10000011100
                                                                          ldaddb.  */
-                                                                      return 808;
+                                                                      return 858;
                                                                     }
                                                                   else
                                                                     {
@@ -808,7 +808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10000011110
                                                                          ldaddh.  */
-                                                                      return 809;
+                                                                      return 859;
                                                                     }
                                                                 }
                                                               else
@@ -817,7 +817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx100000111x1
                                                                      ldadd.  */
-                                                                  return 810;
+                                                                  return 860;
                                                                 }
                                                             }
                                                           else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10100011100
                                                                          ldaddab.  */
-                                                                      return 811;
+                                                                      return 861;
                                                                     }
                                                                   else
                                                                     {
@@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10100011110
                                                                          ldaddah.  */
-                                                                      return 814;
+                                                                      return 864;
                                                                     }
                                                                 }
                                                               else
@@ -847,7 +847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx101000111x1
                                                                      ldadda.  */
-                                                                  return 817;
+                                                                  return 867;
                                                                 }
                                                             }
                                                         }
@@ -863,7 +863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11000011100
                                                                          ldaddlb.  */
-                                                                      return 812;
+                                                                      return 862;
                                                                     }
                                                                   else
                                                                     {
@@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11000011110
                                                                          ldaddlh.  */
-                                                                      return 815;
+                                                                      return 865;
                                                                     }
                                                                 }
                                                               else
@@ -880,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx110000111x1
                                                                      ldaddl.  */
-                                                                  return 818;
+                                                                  return 868;
                                                                 }
                                                             }
                                                           else
@@ -893,7 +893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11100011100
                                                                          ldaddalb.  */
-                                                                      return 813;
+                                                                      return 863;
                                                                     }
                                                                   else
                                                                     {
@@ -901,7 +901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11100011110
                                                                          ldaddalh.  */
-                                                                      return 816;
+                                                                      return 866;
                                                                     }
                                                                 }
                                                               else
@@ -910,7 +910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx111000111x1
                                                                      ldaddal.  */
-                                                                  return 819;
+                                                                  return 869;
                                                                 }
                                                             }
                                                         }
@@ -929,7 +929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10000011100
                                                                          swpb.  */
-                                                                      return 796;
+                                                                      return 846;
                                                                     }
                                                                   else
                                                                     {
@@ -937,7 +937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10000011110
                                                                          swph.  */
-                                                                      return 797;
+                                                                      return 847;
                                                                     }
                                                                 }
                                                               else
@@ -946,7 +946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx100000111x1
                                                                      swp.  */
-                                                                  return 798;
+                                                                  return 848;
                                                                 }
                                                             }
                                                           else
@@ -959,7 +959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10100011100
                                                                          swpab.  */
-                                                                      return 799;
+                                                                      return 849;
                                                                     }
                                                                   else
                                                                     {
@@ -967,7 +967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10100011110
                                                                          swpah.  */
-                                                                      return 802;
+                                                                      return 852;
                                                                     }
                                                                 }
                                                               else
@@ -976,7 +976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx101000111x1
                                                                      swpa.  */
-                                                                  return 805;
+                                                                  return 855;
                                                                 }
                                                             }
                                                         }
@@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11000011100
                                                                          swplb.  */
-                                                                      return 800;
+                                                                      return 850;
                                                                     }
                                                                   else
                                                                     {
@@ -1000,7 +1000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11000011110
                                                                          swplh.  */
-                                                                      return 803;
+                                                                      return 853;
                                                                     }
                                                                 }
                                                               else
@@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx110000111x1
                                                                      swpl.  */
-                                                                  return 806;
+                                                                  return 856;
                                                                 }
                                                             }
                                                           else
@@ -1022,7 +1022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11100011100
                                                                          swpalb.  */
-                                                                      return 801;
+                                                                      return 851;
                                                                     }
                                                                   else
                                                                     {
@@ -1030,7 +1030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11100011110
                                                                          swpalh.  */
-                                                                      return 804;
+                                                                      return 854;
                                                                     }
                                                                 }
                                                               else
@@ -1039,7 +1039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx111000111x1
                                                                      swpal.  */
-                                                                  return 807;
+                                                                  return 857;
                                                                 }
                                                             }
                                                         }
@@ -1059,7 +1059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10000011100
                                                                      ldsmaxb.  */
-                                                                  return 856;
+                                                                  return 906;
                                                                 }
                                                               else
                                                                 {
@@ -1067,7 +1067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10000011110
                                                                      ldsmaxh.  */
-                                                                  return 857;
+                                                                  return 907;
                                                                 }
                                                             }
                                                           else
@@ -1076,7 +1076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx100000111x1
                                                                  ldsmax.  */
-                                                              return 858;
+                                                              return 908;
                                                             }
                                                         }
                                                       else
@@ -1089,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10100011100
                                                                      ldsmaxab.  */
-                                                                  return 859;
+                                                                  return 909;
                                                                 }
                                                               else
                                                                 {
@@ -1097,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10100011110
                                                                      ldsmaxah.  */
-                                                                  return 862;
+                                                                  return 912;
                                                                 }
                                                             }
                                                           else
@@ -1106,7 +1106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx101000111x1
                                                                  ldsmaxa.  */
-                                                              return 865;
+                                                              return 915;
                                                             }
                                                         }
                                                     }
@@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11000011100
                                                                      ldsmaxlb.  */
-                                                                  return 860;
+                                                                  return 910;
                                                                 }
                                                               else
                                                                 {
@@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11000011110
                                                                      ldsmaxlh.  */
-                                                                  return 863;
+                                                                  return 913;
                                                                 }
                                                             }
                                                           else
@@ -1139,7 +1139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx110000111x1
                                                                  ldsmaxl.  */
-                                                              return 866;
+                                                              return 916;
                                                             }
                                                         }
                                                       else
@@ -1152,7 +1152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11100011100
                                                                      ldsmaxalb.  */
-                                                                  return 861;
+                                                                  return 911;
                                                                 }
                                                               else
                                                                 {
@@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11100011110
                                                                      ldsmaxalh.  */
-                                                                  return 864;
+                                                                  return 914;
                                                                 }
                                                             }
                                                           else
@@ -1169,7 +1169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx111000111x1
                                                                  ldsmaxal.  */
-                                                              return 867;
+                                                              return 917;
                                                             }
                                                         }
                                                     }
@@ -1191,7 +1191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10000011100
                                                                      ldeorb.  */
-                                                                  return 832;
+                                                                  return 882;
                                                                 }
                                                               else
                                                                 {
@@ -1199,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10000011110
                                                                      ldeorh.  */
-                                                                  return 833;
+                                                                  return 883;
                                                                 }
                                                             }
                                                           else
@@ -1208,7 +1208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx100000111x1
                                                                  ldeor.  */
-                                                              return 834;
+                                                              return 884;
                                                             }
                                                         }
                                                       else
@@ -1221,7 +1221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10100011100
                                                                      ldeorab.  */
-                                                                  return 835;
+                                                                  return 885;
                                                                 }
                                                               else
                                                                 {
@@ -1229,7 +1229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10100011110
                                                                      ldeorah.  */
-                                                                  return 838;
+                                                                  return 888;
                                                                 }
                                                             }
                                                           else
@@ -1238,7 +1238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx101000111x1
                                                                  ldeora.  */
-                                                              return 841;
+                                                              return 891;
                                                             }
                                                         }
                                                     }
@@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11000011100
                                                                      ldeorlb.  */
-                                                                  return 836;
+                                                                  return 886;
                                                                 }
                                                               else
                                                                 {
@@ -1262,7 +1262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11000011110
                                                                      ldeorlh.  */
-                                                                  return 839;
+                                                                  return 889;
                                                                 }
                                                             }
                                                           else
@@ -1271,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx110000111x1
                                                                  ldeorl.  */
-                                                              return 842;
+                                                              return 892;
                                                             }
                                                         }
                                                       else
@@ -1284,7 +1284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11100011100
                                                                      ldeoralb.  */
-                                                                  return 837;
+                                                                  return 887;
                                                                 }
                                                               else
                                                                 {
@@ -1292,7 +1292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11100011110
                                                                      ldeoralh.  */
-                                                                  return 840;
+                                                                  return 890;
                                                                 }
                                                             }
                                                           else
@@ -1301,7 +1301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx111000111x1
                                                                  ldeoral.  */
-                                                              return 843;
+                                                              return 893;
                                                             }
                                                         }
                                                     }
@@ -1320,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10000011100
                                                                      ldumaxb.  */
-                                                                  return 880;
+                                                                  return 930;
                                                                 }
                                                               else
                                                                 {
@@ -1328,7 +1328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10000011110
                                                                      ldumaxh.  */
-                                                                  return 881;
+                                                                  return 931;
                                                                 }
                                                             }
                                                           else
@@ -1337,7 +1337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx100000111x1
                                                                  ldumax.  */
-                                                              return 882;
+                                                              return 932;
                                                             }
                                                         }
                                                       else
@@ -1350,7 +1350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10100011100
                                                                      ldumaxab.  */
-                                                                  return 883;
+                                                                  return 933;
                                                                 }
                                                               else
                                                                 {
@@ -1358,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10100011110
                                                                      ldumaxah.  */
-                                                                  return 886;
+                                                                  return 936;
                                                                 }
                                                             }
                                                           else
@@ -1367,7 +1367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx101000111x1
                                                                  ldumaxa.  */
-                                                              return 889;
+                                                              return 939;
                                                             }
                                                         }
                                                     }
@@ -1383,7 +1383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11000011100
                                                                      ldumaxlb.  */
-                                                                  return 884;
+                                                                  return 934;
                                                                 }
                                                               else
                                                                 {
@@ -1391,7 +1391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11000011110
                                                                      ldumaxlh.  */
-                                                                  return 887;
+                                                                  return 937;
                                                                 }
                                                             }
                                                           else
@@ -1400,7 +1400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx110000111x1
                                                                  ldumaxl.  */
-                                                              return 890;
+                                                              return 940;
                                                             }
                                                         }
                                                       else
@@ -1413,7 +1413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11100011100
                                                                      ldumaxalb.  */
-                                                                  return 885;
+                                                                  return 935;
                                                                 }
                                                               else
                                                                 {
@@ -1421,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11100011110
                                                                      ldumaxalh.  */
-                                                                  return 888;
+                                                                  return 938;
                                                                 }
                                                             }
                                                           else
@@ -1430,7 +1430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx111000111x1
                                                                  ldumaxal.  */
-                                                              return 891;
+                                                              return 941;
                                                             }
                                                         }
                                                     }
@@ -1455,7 +1455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10000011100
                                                                      ldclrb.  */
-                                                                  return 820;
+                                                                  return 870;
                                                                 }
                                                               else
                                                                 {
@@ -1463,7 +1463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10000011110
                                                                      ldclrh.  */
-                                                                  return 821;
+                                                                  return 871;
                                                                 }
                                                             }
                                                           else
@@ -1472,7 +1472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx100000111x1
                                                                  ldclr.  */
-                                                              return 822;
+                                                              return 872;
                                                             }
                                                         }
                                                       else
@@ -1485,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10100011100
                                                                      ldclrab.  */
-                                                                  return 823;
+                                                                  return 873;
                                                                 }
                                                               else
                                                                 {
@@ -1493,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10100011110
                                                                      ldclrah.  */
-                                                                  return 826;
+                                                                  return 876;
                                                                 }
                                                             }
                                                           else
@@ -1502,7 +1502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx101000111x1
                                                                  ldclra.  */
-                                                              return 829;
+                                                              return 879;
                                                             }
                                                         }
                                                     }
@@ -1518,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11000011100
                                                                      ldclrlb.  */
-                                                                  return 824;
+                                                                  return 874;
                                                                 }
                                                               else
                                                                 {
@@ -1526,7 +1526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11000011110
                                                                      ldclrlh.  */
-                                                                  return 827;
+                                                                  return 877;
                                                                 }
                                                             }
                                                           else
@@ -1535,7 +1535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx110000111x1
                                                                  ldclrl.  */
-                                                              return 830;
+                                                              return 880;
                                                             }
                                                         }
                                                       else
@@ -1548,7 +1548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11100011100
                                                                      ldclralb.  */
-                                                                  return 825;
+                                                                  return 875;
                                                                 }
                                                               else
                                                                 {
@@ -1556,7 +1556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11100011110
                                                                      ldclralh.  */
-                                                                  return 828;
+                                                                  return 878;
                                                                 }
                                                             }
                                                           else
@@ -1565,7 +1565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx111000111x1
                                                                  ldclral.  */
-                                                              return 831;
+                                                              return 881;
                                                             }
                                                         }
                                                     }
@@ -1584,7 +1584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10000011100
                                                                      ldsminb.  */
-                                                                  return 868;
+                                                                  return 918;
                                                                 }
                                                               else
                                                                 {
@@ -1592,7 +1592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10000011110
                                                                      ldsminh.  */
-                                                                  return 869;
+                                                                  return 919;
                                                                 }
                                                             }
                                                           else
@@ -1601,7 +1601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx100000111x1
                                                                  ldsmin.  */
-                                                              return 870;
+                                                              return 920;
                                                             }
                                                         }
                                                       else
@@ -1614,7 +1614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10100011100
                                                                      ldsminab.  */
-                                                                  return 871;
+                                                                  return 921;
                                                                 }
                                                               else
                                                                 {
@@ -1622,7 +1622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10100011110
                                                                      ldsminah.  */
-                                                                  return 874;
+                                                                  return 924;
                                                                 }
                                                             }
                                                           else
@@ -1631,7 +1631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx101000111x1
                                                                  ldsmina.  */
-                                                              return 877;
+                                                              return 927;
                                                             }
                                                         }
                                                     }
@@ -1647,7 +1647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11000011100
                                                                      ldsminlb.  */
-                                                                  return 872;
+                                                                  return 922;
                                                                 }
                                                               else
                                                                 {
@@ -1655,7 +1655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11000011110
                                                                      ldsminlh.  */
-                                                                  return 875;
+                                                                  return 925;
                                                                 }
                                                             }
                                                           else
@@ -1664,7 +1664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx110000111x1
                                                                  ldsminl.  */
-                                                              return 878;
+                                                              return 928;
                                                             }
                                                         }
                                                       else
@@ -1677,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11100011100
                                                                      ldsminalb.  */
-                                                                  return 873;
+                                                                  return 923;
                                                                 }
                                                               else
                                                                 {
@@ -1685,7 +1685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11100011110
                                                                      ldsminalh.  */
-                                                                  return 876;
+                                                                  return 926;
                                                                 }
                                                             }
                                                           else
@@ -1694,7 +1694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx111000111x1
                                                                  ldsminal.  */
-                                                              return 879;
+                                                              return 929;
                                                             }
                                                         }
                                                     }
@@ -1716,7 +1716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10000011100
                                                                      ldsetb.  */
-                                                                  return 844;
+                                                                  return 894;
                                                                 }
                                                               else
                                                                 {
@@ -1724,7 +1724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10000011110
                                                                      ldseth.  */
-                                                                  return 845;
+                                                                  return 895;
                                                                 }
                                                             }
                                                           else
@@ -1733,7 +1733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx100000111x1
                                                                  ldset.  */
-                                                              return 846;
+                                                              return 896;
                                                             }
                                                         }
                                                       else
@@ -1746,7 +1746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10100011100
                                                                      ldsetab.  */
-                                                                  return 847;
+                                                                  return 897;
                                                                 }
                                                               else
                                                                 {
@@ -1754,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10100011110
                                                                      ldsetah.  */
-                                                                  return 850;
+                                                                  return 900;
                                                                 }
                                                             }
                                                           else
@@ -1763,7 +1763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx101000111x1
                                                                  ldseta.  */
-                                                              return 853;
+                                                              return 903;
                                                             }
                                                         }
                                                     }
@@ -1779,7 +1779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11000011100
                                                                      ldsetlb.  */
-                                                                  return 848;
+                                                                  return 898;
                                                                 }
                                                               else
                                                                 {
@@ -1787,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11000011110
                                                                      ldsetlh.  */
-                                                                  return 851;
+                                                                  return 901;
                                                                 }
                                                             }
                                                           else
@@ -1796,7 +1796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx110000111x1
                                                                  ldsetl.  */
-                                                              return 854;
+                                                              return 904;
                                                             }
                                                         }
                                                       else
@@ -1809,7 +1809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11100011100
                                                                      ldsetalb.  */
-                                                                  return 849;
+                                                                  return 899;
                                                                 }
                                                               else
                                                                 {
@@ -1817,7 +1817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11100011110
                                                                      ldsetalh.  */
-                                                                  return 852;
+                                                                  return 902;
                                                                 }
                                                             }
                                                           else
@@ -1826,7 +1826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx111000111x1
                                                                  ldsetal.  */
-                                                              return 855;
+                                                              return 905;
                                                             }
                                                         }
                                                     }
@@ -1845,7 +1845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10000011100
                                                                      lduminb.  */
-                                                                  return 892;
+                                                                  return 942;
                                                                 }
                                                               else
                                                                 {
@@ -1853,7 +1853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10000011110
                                                                      lduminh.  */
-                                                                  return 893;
+                                                                  return 943;
                                                                 }
                                                             }
                                                           else
@@ -1862,7 +1862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx100000111x1
                                                                  ldumin.  */
-                                                              return 894;
+                                                              return 944;
                                                             }
                                                         }
                                                       else
@@ -1875,7 +1875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10100011100
                                                                      lduminab.  */
-                                                                  return 895;
+                                                                  return 945;
                                                                 }
                                                               else
                                                                 {
@@ -1883,7 +1883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10100011110
                                                                      lduminah.  */
-                                                                  return 898;
+                                                                  return 948;
                                                                 }
                                                             }
                                                           else
@@ -1892,7 +1892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx101000111x1
                                                                  ldumina.  */
-                                                              return 901;
+                                                              return 951;
                                                             }
                                                         }
                                                     }
@@ -1908,7 +1908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11000011100
                                                                      lduminlb.  */
-                                                                  return 896;
+                                                                  return 946;
                                                                 }
                                                               else
                                                                 {
@@ -1916,7 +1916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11000011110
                                                                      lduminlh.  */
-                                                                  return 899;
+                                                                  return 949;
                                                                 }
                                                             }
                                                           else
@@ -1925,7 +1925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx110000111x1
                                                                  lduminl.  */
-                                                              return 902;
+                                                              return 952;
                                                             }
                                                         }
                                                       else
@@ -1938,7 +1938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11100011100
                                                                      lduminalb.  */
-                                                                  return 897;
+                                                                  return 947;
                                                                 }
                                                               else
                                                                 {
@@ -1946,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11100011110
                                                                      lduminalh.  */
-                                                                  return 900;
+                                                                  return 950;
                                                                 }
                                                             }
                                                           else
@@ -1955,7 +1955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx111000111x1
                                                                  lduminal.  */
-                                                              return 903;
+                                                              return 953;
                                                             }
                                                         }
                                                     }
@@ -1980,7 +1980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011100
                                                          sttrb.  */
-                                                      return 694;
+                                                      return 744;
                                                     }
                                                   else
                                                     {
@@ -1988,7 +1988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011110
                                                          sttrh.  */
-                                                      return 697;
+                                                      return 747;
                                                     }
                                                 }
                                               else
@@ -1997,7 +1997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx000000111x1
                                                      sttr.  */
-                                                  return 700;
+                                                  return 750;
                                                 }
                                             }
                                           else
@@ -2010,7 +2010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011100
                                                          ldtrb.  */
-                                                      return 695;
+                                                      return 745;
                                                     }
                                                   else
                                                     {
@@ -2018,7 +2018,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011110
                                                          ldtrh.  */
-                                                      return 698;
+                                                      return 748;
                                                     }
                                                 }
                                               else
@@ -2027,7 +2027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx010000111x1
                                                      ldtr.  */
-                                                  return 701;
+                                                  return 751;
                                                 }
                                             }
                                         }
@@ -2041,7 +2041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011100
                                                      ldtrsb.  */
-                                                  return 696;
+                                                  return 746;
                                                 }
                                               else
                                                 {
@@ -2049,7 +2049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011101
                                                      ldtrsw.  */
-                                                  return 702;
+                                                  return 752;
                                                 }
                                             }
                                           else
@@ -2058,7 +2058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx01xxxxxxxxx0x10001111x
                                                  ldtrsh.  */
-                                              return 699;
+                                              return 749;
                                             }
                                         }
                                     }
@@ -2076,7 +2076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011100
                                                          strb.  */
-                                                      return 682;
+                                                      return 732;
                                                     }
                                                   else
                                                     {
@@ -2084,7 +2084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011110
                                                          strh.  */
-                                                      return 687;
+                                                      return 737;
                                                     }
                                                 }
                                               else
@@ -2093,7 +2093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx100000111x1
                                                      str.  */
-                                                  return 690;
+                                                  return 740;
                                                 }
                                             }
                                           else
@@ -2106,7 +2106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011100
                                                          ldrb.  */
-                                                      return 683;
+                                                      return 733;
                                                     }
                                                   else
                                                     {
@@ -2114,7 +2114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011110
                                                          ldrh.  */
-                                                      return 688;
+                                                      return 738;
                                                     }
                                                 }
                                               else
@@ -2123,7 +2123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx110000111x1
                                                      ldr.  */
-                                                  return 691;
+                                                  return 741;
                                                 }
                                             }
                                         }
@@ -2137,7 +2137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011100
                                                      ldrsb.  */
-                                                  return 684;
+                                                  return 734;
                                                 }
                                               else
                                                 {
@@ -2145,7 +2145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011101
                                                      ldrsw.  */
-                                                  return 692;
+                                                  return 742;
                                                 }
                                             }
                                           else
@@ -2156,7 +2156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011110
                                                      ldrsh.  */
-                                                  return 689;
+                                                  return 739;
                                                 }
                                               else
                                                 {
@@ -2164,7 +2164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011111
                                                      prfm.  */
-                                                  return 693;
+                                                  return 743;
                                                 }
                                             }
                                         }
@@ -2185,7 +2185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx0000011100
                                                  strb.  */
-                                              return 659;
+                                              return 709;
                                             }
                                           else
                                             {
@@ -2193,7 +2193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx0000011110
                                                  strh.  */
-                                              return 664;
+                                              return 714;
                                             }
                                         }
                                       else
@@ -2202,7 +2202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxx00000111x1
                                              str.  */
-                                          return 667;
+                                          return 717;
                                         }
                                     }
                                   else
@@ -2215,7 +2215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx1000011100
                                                  ldrb.  */
-                                              return 660;
+                                              return 710;
                                             }
                                           else
                                             {
@@ -2223,7 +2223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx1000011110
                                                  ldrh.  */
-                                              return 665;
+                                              return 715;
                                             }
                                         }
                                       else
@@ -2232,7 +2232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxx10000111x1
                                              ldr.  */
-                                          return 668;
+                                          return 718;
                                         }
                                     }
                                 }
@@ -2246,7 +2246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxxx100011100
                                              ldrsb.  */
-                                          return 661;
+                                          return 711;
                                         }
                                       else
                                         {
@@ -2254,7 +2254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxxx100011101
                                              ldrsw.  */
-                                          return 669;
+                                          return 719;
                                         }
                                     }
                                   else
@@ -2263,7 +2263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxxxx10001111x
                                          ldrsh.  */
-                                      return 666;
+                                      return 716;
                                     }
                                 }
                             }
@@ -2283,7 +2283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x00
                                          strb.  */
-                                      return 670;
+                                      return 720;
                                     }
                                   else
                                     {
@@ -2291,7 +2291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x10
                                          strh.  */
-                                      return 675;
+                                      return 725;
                                     }
                                 }
                               else
@@ -2300,7 +2300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx0010011xx1
                                      str.  */
-                                  return 678;
+                                  return 728;
                                 }
                             }
                           else
@@ -2313,7 +2313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x00
                                          ldrb.  */
-                                      return 671;
+                                      return 721;
                                     }
                                   else
                                     {
@@ -2321,7 +2321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x10
                                          ldrh.  */
-                                      return 676;
+                                      return 726;
                                     }
                                 }
                               else
@@ -2330,7 +2330,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx1010011xx1
                                      ldr.  */
-                                  return 679;
+                                  return 729;
                                 }
                             }
                         }
@@ -2344,7 +2344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x00
                                      ldrsb.  */
-                                  return 672;
+                                  return 722;
                                 }
                               else
                                 {
@@ -2352,7 +2352,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x01
                                      ldrsw.  */
-                                  return 680;
+                                  return 730;
                                 }
                             }
                           else
@@ -2363,7 +2363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x10
                                      ldrsh.  */
-                                  return 677;
+                                  return 727;
                                 }
                               else
                                 {
@@ -2371,7 +2371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x11
                                      prfm.  */
-                                  return 681;
+                                  return 731;
                                 }
                             }
                         }
@@ -2395,7 +2395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x00x
                                  and.  */
-                              return 761;
+                              return 811;
                             }
                           else
                             {
@@ -2403,7 +2403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x01x
                                  eor.  */
-                              return 765;
+                              return 815;
                             }
                         }
                       else
@@ -2414,7 +2414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x10x
                                  orr.  */
-                              return 763;
+                              return 813;
                             }
                           else
                             {
@@ -2422,7 +2422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x11x
                                  ands.  */
-                              return 766;
+                              return 816;
                             }
                         }
                     }
@@ -2436,7 +2436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x00x
                                  movn.  */
-                              return 952;
+                              return 1002;
                             }
                           else
                             {
@@ -2444,7 +2444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x01x
                                  movz.  */
-                              return 954;
+                              return 1004;
                             }
                         }
                       else
@@ -2453,7 +2453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
                              movk.  */
-                          return 956;
+                          return 1006;
                         }
                     }
                 }
@@ -2471,7 +2471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101000x
                                      and.  */
-                                  return 768;
+                                  return 818;
                                 }
                               else
                                 {
@@ -2479,7 +2479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101001x
                                      eor.  */
-                                  return 775;
+                                  return 825;
                                 }
                             }
                           else
@@ -2490,7 +2490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101010x
                                      orr.  */
-                                  return 770;
+                                  return 820;
                                 }
                               else
                                 {
@@ -2498,7 +2498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101011x
                                      ands.  */
-                                  return 777;
+                                  return 827;
                                 }
                             }
                         }
@@ -2873,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
                                  bic.  */
-                              return 769;
+                              return 819;
                             }
                           else
                             {
@@ -2881,7 +2881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
                                  eon.  */
-                              return 776;
+                              return 826;
                             }
                         }
                       else
@@ -2892,7 +2892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
                                  orn.  */
-                              return 773;
+                              return 823;
                             }
                           else
                             {
@@ -2900,7 +2900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
                                  bics.  */
-                              return 779;
+                              return 829;
                             }
                         }
                     }
@@ -3311,7 +3311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
                              msr.  */
-                          return 959;
+                          return 1009;
                         }
                       else
                         {
@@ -3319,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
                              sysl.  */
-                          return 977;
+                          return 1027;
                         }
                     }
                 }
@@ -3342,7 +3342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
                          tbz.  */
-                      return 979;
+                      return 1029;
                     }
                 }
               else
@@ -3361,7 +3361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
                          tbnz.  */
-                      return 980;
+                      return 1030;
                     }
                 }
             }
@@ -3392,7 +3392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001101xx
                                      stnp.  */
-                                  return 745;
+                                  return 795;
                                 }
                             }
                           else
@@ -3444,7 +3444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00101101xx
                                      stp.  */
-                                  return 749;
+                                  return 799;
                                 }
                             }
                         }
@@ -3508,7 +3508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x01101xx
                                  stp.  */
-                              return 754;
+                              return 804;
                             }
                         }
                     }
@@ -3532,7 +3532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001101xx
                                      ldnp.  */
-                                  return 746;
+                                  return 796;
                                 }
                             }
                           else
@@ -3584,7 +3584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10101101xx
                                      ldp.  */
-                                  return 750;
+                                  return 800;
                                 }
                             }
                         }
@@ -3648,7 +3648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx11x01101xx
                                  ldp.  */
-                              return 755;
+                              return 805;
                             }
                         }
                     }
@@ -3663,7 +3663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx001110xx
                              ldr.  */
-                          return 758;
+                          return 808;
                         }
                       else
                         {
@@ -3677,7 +3677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx0x001111xx
                                          stur.  */
-                                      return 706;
+                                      return 756;
                                     }
                                   else
                                     {
@@ -3685,7 +3685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx1x001111xx
                                          ldur.  */
-                                      return 707;
+                                      return 757;
                                     }
                                 }
                               else
@@ -3696,7 +3696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx0x001111xx
                                          str.  */
-                                      return 685;
+                                      return 735;
                                     }
                                   else
                                     {
@@ -3704,7 +3704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx1x001111xx
                                          ldr.  */
-                                      return 686;
+                                      return 736;
                                     }
                                 }
                             }
@@ -3716,7 +3716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx0x001111xx
                                      str.  */
-                                  return 662;
+                                  return 712;
                                 }
                               else
                                 {
@@ -3724,7 +3724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx1x001111xx
                                      ldr.  */
-                                  return 663;
+                                  return 713;
                                 }
                             }
                         }
@@ -3737,7 +3737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
                              str.  */
-                          return 673;
+                          return 723;
                         }
                       else
                         {
@@ -3745,7 +3745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
                              ldr.  */
-                          return 674;
+                          return 724;
                         }
                     }
                 }
@@ -3954,7 +3954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx00xxx0xx0111100x
                                              fcvtzs.  */
-                                          return 608;
+                                          return 610;
                                         }
                                       else
                                         {
@@ -3973,7 +3973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx10xxx0xx0111100x
                                              fcvtzu.  */
-                                          return 609;
+                                          return 612;
                                         }
                                       else
                                         {
@@ -3981,7 +3981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx11xxx0xx0111100x
                                              ucvtf.  */
-                                          return 607;
+                                          return 608;
                                         }
                                     }
                                 }
@@ -4163,7 +4163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000001xx01111xxx
                                                                          fcvtns.  */
-                                                                      return 610;
+                                                                      return 614;
                                                                     }
                                                                   else
                                                                     {
@@ -4171,7 +4171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000011xx01111xxx
                                                                          fcvtms.  */
-                                                                      return 620;
+                                                                      return 634;
                                                                     }
                                                                 }
                                                               else
@@ -4182,7 +4182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000101xx01111xxx
                                                                          fcvtps.  */
-                                                                      return 618;
+                                                                      return 630;
                                                                     }
                                                                   else
                                                                     {
@@ -4190,7 +4190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000111xx01111xxx
                                                                          fcvtzs.  */
-                                                                      return 622;
+                                                                      return 638;
                                                                     }
                                                                 }
                                                             }
@@ -4200,7 +4200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000001xx1xx01111xxx
                                                                  fcvtas.  */
-                                                              return 614;
+                                                              return 622;
                                                             }
                                                         }
                                                       else
@@ -4211,7 +4211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000010xx1xx01111xxx
                                                                  scvtf.  */
-                                                              return 612;
+                                                              return 618;
                                                             }
                                                           else
                                                             {
@@ -4221,7 +4221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 616;
+                                                                  return 626;
                                                                 }
                                                               else
                                                                 {
@@ -4229,7 +4229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 624;
+                                                                  return 642;
                                                                 }
                                                             }
                                                         }
@@ -4248,7 +4248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100001xx01111xxx
                                                                          fcvtnu.  */
-                                                                      return 611;
+                                                                      return 616;
                                                                     }
                                                                   else
                                                                     {
@@ -4256,7 +4256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100011xx01111xxx
                                                                          fcvtmu.  */
-                                                                      return 621;
+                                                                      return 636;
                                                                     }
                                                                 }
                                                               else
@@ -4267,7 +4267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100101xx01111xxx
                                                                          fcvtpu.  */
-                                                                      return 619;
+                                                                      return 632;
                                                                     }
                                                                   else
                                                                     {
@@ -4275,7 +4275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100111xx01111xxx
                                                                          fcvtzu.  */
-                                                                      return 623;
+                                                                      return 640;
                                                                     }
                                                                 }
                                                             }
@@ -4285,7 +4285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000101xx1xx01111xxx
                                                                  fcvtau.  */
-                                                              return 615;
+                                                              return 624;
                                                             }
                                                         }
                                                       else
@@ -4296,7 +4296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000110xx1xx01111xxx
                                                                  ucvtf.  */
-                                                              return 613;
+                                                              return 620;
                                                             }
                                                           else
                                                             {
@@ -4306,7 +4306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 617;
+                                                                  return 628;
                                                                 }
                                                               else
                                                                 {
@@ -4314,7 +4314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 625;
+                                                                  return 643;
                                                                 }
                                                             }
                                                         }
@@ -4464,7 +4464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010000xx1xx01111xxx
                                                                  fmov.  */
-                                                              return 632;
+                                                              return 656;
                                                             }
                                                           else
                                                             {
@@ -4472,7 +4472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010001xx1xx01111xxx
                                                                  frintn.  */
-                                                              return 637;
+                                                              return 665;
                                                             }
                                                         }
                                                       else
@@ -4483,7 +4483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010100xx1xx01111xxx
                                                                  fneg.  */
-                                                              return 634;
+                                                              return 660;
                                                             }
                                                           else
                                                             {
@@ -4491,7 +4491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010101xx1xx01111xxx
                                                                  frintm.  */
-                                                              return 639;
+                                                              return 669;
                                                             }
                                                         }
                                                     }
@@ -4505,7 +4505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011000xx1xx01111xxx
                                                                  fabs.  */
-                                                              return 633;
+                                                              return 658;
                                                             }
                                                           else
                                                             {
@@ -4513,7 +4513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011001xx1xx01111xxx
                                                                  frintp.  */
-                                                              return 638;
+                                                              return 667;
                                                             }
                                                         }
                                                       else
@@ -4524,7 +4524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011100xx1xx01111xxx
                                                                  fsqrt.  */
-                                                              return 635;
+                                                              return 662;
                                                             }
                                                           else
                                                             {
@@ -4532,7 +4532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011101xx1xx01111xxx
                                                                  frintz.  */
-                                                              return 640;
+                                                              return 671;
                                                             }
                                                         }
                                                     }
@@ -4545,7 +4545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00001xx10xx1xx01111xxx
                                                          fcvt.  */
-                                                      return 636;
+                                                      return 664;
                                                     }
                                                   else
                                                     {
@@ -4557,7 +4557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010011xx1xx01111xxx
                                                                  frinta.  */
-                                                              return 641;
+                                                              return 673;
                                                             }
                                                           else
                                                             {
@@ -4565,7 +4565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010111xx1xx01111xxx
                                                                  frintx.  */
-                                                              return 642;
+                                                              return 675;
                                                             }
                                                         }
                                                       else
@@ -4574,7 +4574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011x11xx1xx01111xxx
                                                              frinti.  */
-                                                          return 643;
+                                                          return 677;
                                                         }
                                                     }
                                                 }
@@ -4638,7 +4638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx00xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 628;
+                                                          return 648;
                                                         }
                                                       else
                                                         {
@@ -4646,7 +4646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx01xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 629;
+                                                          return 650;
                                                         }
                                                     }
                                                   else
@@ -4657,7 +4657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx10xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 630;
+                                                          return 652;
                                                         }
                                                       else
                                                         {
@@ -4665,7 +4665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 631;
+                                                          return 654;
                                                         }
                                                     }
                                                 }
@@ -5048,7 +5048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx1xx01111x0x
                                              fmov.  */
-                                          return 657;
+                                          return 705;
                                         }
                                       else
                                         {
@@ -5120,7 +5120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x0x
                                                          fmul.  */
-                                                      return 644;
+                                                      return 679;
                                                     }
                                                   else
                                                     {
@@ -5196,7 +5196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111100x
                                                              fnmul.  */
-                                                          return 652;
+                                                          return 695;
                                                         }
                                                       else
                                                         {
@@ -5306,7 +5306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111100x
                                                              fmax.  */
-                                                          return 648;
+                                                          return 687;
                                                         }
                                                       else
                                                         {
@@ -5559,7 +5559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111100x
                                                              fadd.  */
-                                                          return 646;
+                                                          return 683;
                                                         }
                                                       else
                                                         {
@@ -5818,7 +5818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011110xx
                                                          fmaxnm.  */
-                                                      return 650;
+                                                      return 691;
                                                     }
                                                   else
                                                     {
@@ -5876,7 +5876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x0x
                                                          fdiv.  */
-                                                      return 645;
+                                                      return 681;
                                                     }
                                                   else
                                                     {
@@ -6025,7 +6025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx011010xxxxx1xx01111xxx
                                                      fmin.  */
-                                                  return 649;
+                                                  return 689;
                                                 }
                                             }
                                           else
@@ -6249,7 +6249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111100x
                                                              fsub.  */
-                                                          return 647;
+                                                          return 685;
                                                         }
                                                       else
                                                         {
@@ -6488,7 +6488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111100x
                                                              fminnm.  */
-                                                          return 651;
+                                                          return 693;
                                                         }
                                                       else
                                                         {
@@ -7041,7 +7041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmp.  */
-                                              return 626;
+                                              return 644;
                                             }
                                           else
                                             {
@@ -7049,7 +7049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmpe.  */
-                                              return 627;
+                                              return 646;
                                             }
                                         }
                                       else
@@ -7630,7 +7630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx11xxxxxxxxx1xx0111100x
                                              fcsel.  */
-                                          return 658;
+                                          return 707;
                                         }
                                       else
                                         {
@@ -8052,7 +8052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx0xx1111100x
                                          fmadd.  */
-                                      return 653;
+                                      return 697;
                                     }
                                   else
                                     {
@@ -8060,7 +8060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx1xx1111100x
                                          fnmadd.  */
-                                      return 655;
+                                      return 701;
                                     }
                                 }
                               else
@@ -8632,7 +8632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx0xx1111100x
                                          fmsub.  */
-                                      return 654;
+                                      return 699;
                                     }
                                   else
                                     {
@@ -8640,7 +8640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx1xx1111100x
                                          fnmsub.  */
-                                      return 656;
+                                      return 703;
                                     }
                                 }
                               else
@@ -8850,22 +8850,22 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
   int value;
   switch (key)
     {
-    case 743: value = 747; break;      /* stnp --> stp.  */
-    case 747: return NULL;             /* stp --> NULL.  */
-    case 741: value = 742; break;      /* stllrb --> stllrh.  */
-    case 742: return NULL;             /* stllrh --> NULL.  */
-    case 744: value = 748; break;      /* ldnp --> ldp.  */
-    case 748: return NULL;             /* ldp --> NULL.  */
-    case 959: value = 960; break;      /* msr --> hint.  */
-    case 960: value = 967; break;      /* hint --> clrex.  */
-    case 967: value = 968; break;      /* clrex --> dsb.  */
-    case 968: value = 969; break;      /* dsb --> dmb.  */
-    case 969: value = 970; break;      /* dmb --> isb.  */
-    case 970: value = 971; break;      /* isb --> sys.  */
-    case 971: value = 976; break;      /* sys --> msr.  */
-    case 976: return NULL;             /* msr --> NULL.  */
-    case 977: value = 978; break;      /* sysl --> mrs.  */
-    case 978: return NULL;             /* mrs --> NULL.  */
+    case 793: value = 797; break;      /* stnp --> stp.  */
+    case 797: return NULL;             /* stp --> NULL.  */
+    case 791: value = 792; break;      /* stllrb --> stllrh.  */
+    case 792: return NULL;             /* stllrh --> NULL.  */
+    case 794: value = 798; break;      /* ldnp --> ldp.  */
+    case 798: return NULL;             /* ldp --> NULL.  */
+    case 1009: value = 1010; break;    /* msr --> hint.  */
+    case 1010: value = 1017; break;    /* hint --> clrex.  */
+    case 1017: value = 1018; break;    /* clrex --> dsb.  */
+    case 1018: value = 1019; break;    /* dsb --> dmb.  */
+    case 1019: value = 1020; break;    /* dmb --> isb.  */
+    case 1020: value = 1021; break;    /* isb --> sys.  */
+    case 1021: value = 1026; break;    /* sys --> msr.  */
+    case 1026: return NULL;            /* msr --> NULL.  */
+    case 1027: value = 1028; break;    /* sysl --> mrs.  */
+    case 1028: return NULL;            /* mrs --> NULL.  */
     case 361: value = 362; break;      /* st4 --> st1.  */
     case 362: value = 363; break;      /* st1 --> st2.  */
     case 363: value = 364; break;      /* st2 --> st3.  */
@@ -8898,6 +8898,98 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 399: return NULL;             /* ld2r --> NULL.  */
     case 398: value = 400; break;      /* ld4 --> ld4r.  */
     case 400: return NULL;             /* ld4r --> NULL.  */
+    case 610: value = 611; break;      /* fcvtzs --> fcvtzs.  */
+    case 611: return NULL;             /* fcvtzs --> NULL.  */
+    case 606: value = 607; break;      /* scvtf --> scvtf.  */
+    case 607: return NULL;             /* scvtf --> NULL.  */
+    case 612: value = 613; break;      /* fcvtzu --> fcvtzu.  */
+    case 613: return NULL;             /* fcvtzu --> NULL.  */
+    case 608: value = 609; break;      /* ucvtf --> ucvtf.  */
+    case 609: return NULL;             /* ucvtf --> NULL.  */
+    case 614: value = 615; break;      /* fcvtns --> fcvtns.  */
+    case 615: return NULL;             /* fcvtns --> NULL.  */
+    case 634: value = 635; break;      /* fcvtms --> fcvtms.  */
+    case 635: return NULL;             /* fcvtms --> NULL.  */
+    case 630: value = 631; break;      /* fcvtps --> fcvtps.  */
+    case 631: return NULL;             /* fcvtps --> NULL.  */
+    case 638: value = 639; break;      /* fcvtzs --> fcvtzs.  */
+    case 639: return NULL;             /* fcvtzs --> NULL.  */
+    case 622: value = 623; break;      /* fcvtas --> fcvtas.  */
+    case 623: return NULL;             /* fcvtas --> NULL.  */
+    case 618: value = 619; break;      /* scvtf --> scvtf.  */
+    case 619: return NULL;             /* scvtf --> NULL.  */
+    case 626: value = 627; break;      /* fmov --> fmov.  */
+    case 627: return NULL;             /* fmov --> NULL.  */
+    case 616: value = 617; break;      /* fcvtnu --> fcvtnu.  */
+    case 617: return NULL;             /* fcvtnu --> NULL.  */
+    case 636: value = 637; break;      /* fcvtmu --> fcvtmu.  */
+    case 637: return NULL;             /* fcvtmu --> NULL.  */
+    case 632: value = 633; break;      /* fcvtpu --> fcvtpu.  */
+    case 633: return NULL;             /* fcvtpu --> NULL.  */
+    case 640: value = 641; break;      /* fcvtzu --> fcvtzu.  */
+    case 641: return NULL;             /* fcvtzu --> NULL.  */
+    case 624: value = 625; break;      /* fcvtau --> fcvtau.  */
+    case 625: return NULL;             /* fcvtau --> NULL.  */
+    case 620: value = 621; break;      /* ucvtf --> ucvtf.  */
+    case 621: return NULL;             /* ucvtf --> NULL.  */
+    case 628: value = 629; break;      /* fmov --> fmov.  */
+    case 629: return NULL;             /* fmov --> NULL.  */
+    case 656: value = 657; break;      /* fmov --> fmov.  */
+    case 657: return NULL;             /* fmov --> NULL.  */
+    case 665: value = 666; break;      /* frintn --> frintn.  */
+    case 666: return NULL;             /* frintn --> NULL.  */
+    case 660: value = 661; break;      /* fneg --> fneg.  */
+    case 661: return NULL;             /* fneg --> NULL.  */
+    case 669: value = 670; break;      /* frintm --> frintm.  */
+    case 670: return NULL;             /* frintm --> NULL.  */
+    case 658: value = 659; break;      /* fabs --> fabs.  */
+    case 659: return NULL;             /* fabs --> NULL.  */
+    case 667: value = 668; break;      /* frintp --> frintp.  */
+    case 668: return NULL;             /* frintp --> NULL.  */
+    case 662: value = 663; break;      /* fsqrt --> fsqrt.  */
+    case 663: return NULL;             /* fsqrt --> NULL.  */
+    case 671: value = 672; break;      /* frintz --> frintz.  */
+    case 672: return NULL;             /* frintz --> NULL.  */
+    case 673: value = 674; break;      /* frinta --> frinta.  */
+    case 674: return NULL;             /* frinta --> NULL.  */
+    case 675: value = 676; break;      /* frintx --> frintx.  */
+    case 676: return NULL;             /* frintx --> NULL.  */
+    case 677: value = 678; break;      /* frinti --> frinti.  */
+    case 678: return NULL;             /* frinti --> NULL.  */
+    case 648: value = 649; break;      /* fcmp --> fcmp.  */
+    case 649: return NULL;             /* fcmp --> NULL.  */
+    case 650: value = 651; break;      /* fcmpe --> fcmpe.  */
+    case 651: return NULL;             /* fcmpe --> NULL.  */
+    case 652: value = 653; break;      /* fcmp --> fcmp.  */
+    case 653: return NULL;             /* fcmp --> NULL.  */
+    case 654: value = 655; break;      /* fcmpe --> fcmpe.  */
+    case 655: return NULL;             /* fcmpe --> NULL.  */
+    case 705: value = 706; break;      /* fmov --> fmov.  */
+    case 706: return NULL;             /* fmov --> NULL.  */
+    case 679: value = 680; break;      /* fmul --> fmul.  */
+    case 680: return NULL;             /* fmul --> NULL.  */
+    case 695: value = 696; break;      /* fnmul --> fnmul.  */
+    case 696: return NULL;             /* fnmul --> NULL.  */
+    case 687: value = 688; break;      /* fmax --> fmax.  */
+    case 688: return NULL;             /* fmax --> NULL.  */
+    case 683: value = 684; break;      /* fadd --> fadd.  */
+    case 684: return NULL;             /* fadd --> NULL.  */
+    case 691: value = 692; break;      /* fmaxnm --> fmaxnm.  */
+    case 692: return NULL;             /* fmaxnm --> NULL.  */
+    case 681: value = 682; break;      /* fdiv --> fdiv.  */
+    case 682: return NULL;             /* fdiv --> NULL.  */
+    case 689: value = 690; break;      /* fmin --> fmin.  */
+    case 690: return NULL;             /* fmin --> NULL.  */
+    case 685: value = 686; break;      /* fsub --> fsub.  */
+    case 686: return NULL;             /* fsub --> NULL.  */
+    case 693: value = 694; break;      /* fminnm --> fminnm.  */
+    case 694: return NULL;             /* fminnm --> NULL.  */
+    case 644: value = 645; break;      /* fccmp --> fccmp.  */
+    case 645: return NULL;             /* fccmp --> NULL.  */
+    case 646: value = 647; break;      /* fccmpe --> fccmpe.  */
+    case 647: return NULL;             /* fccmpe --> NULL.  */
+    case 707: value = 708; break;      /* fcsel --> fcsel.  */
+    case 708: return NULL;             /* fcsel --> NULL.  */
     case 122: value = 303; break;      /* movi --> sshr.  */
     case 303: value = 305; break;      /* sshr --> srshr.  */
     case 305: return NULL;             /* srshr --> NULL.  */
@@ -8916,6 +9008,10 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 326: value = 328; break;      /* ursra --> sli.  */
     case 328: value = 330; break;      /* sli --> uqshl.  */
     case 330: return NULL;             /* uqshl --> NULL.  */
+    case 697: value = 698; break;      /* fmadd --> fmadd.  */
+    case 698: return NULL;             /* fmadd --> NULL.  */
+    case 701: value = 702; break;      /* fnmadd --> fnmadd.  */
+    case 702: return NULL;             /* fnmadd --> NULL.  */
     case 124: value = 309; break;      /* movi --> shrn.  */
     case 309: value = 310; break;      /* shrn --> shrn2.  */
     case 310: value = 317; break;      /* shrn2 --> sshll.  */
@@ -8937,6 +9033,10 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 134: value = 135; break;      /* movi --> movi.  */
     case 135: value = 343; break;      /* movi --> ucvtf.  */
     case 343: return NULL;             /* ucvtf --> NULL.  */
+    case 699: value = 700; break;      /* fmsub --> fmsub.  */
+    case 700: return NULL;             /* fmsub --> NULL.  */
+    case 703: value = 704; break;      /* fnmsub --> fnmsub.  */
+    case 704: return NULL;             /* fnmsub --> NULL.  */
     default: return NULL;
     }
 
@@ -8989,64 +9089,64 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 591: value = 592; break;      /* umaddl --> umull.  */
     case 593: value = 594; break;      /* umsubl --> umnegl.  */
     case 604: value = 605; break;      /* extr --> ror.  */
-    case 761: value = 762; break;      /* and --> bic.  */
-    case 763: value = 764; break;      /* orr --> mov.  */
-    case 766: value = 767; break;      /* ands --> tst.  */
-    case 770: value = 772; break;      /* orr --> uxtw.  */
-    case 773: value = 774; break;      /* orn --> mvn.  */
-    case 777: value = 778; break;      /* ands --> tst.  */
-    case 808: value = 904; break;      /* ldaddb --> staddb.  */
-    case 809: value = 905; break;      /* ldaddh --> staddh.  */
-    case 810: value = 906; break;      /* ldadd --> stadd.  */
-    case 812: value = 907; break;      /* ldaddlb --> staddlb.  */
-    case 815: value = 908; break;      /* ldaddlh --> staddlh.  */
-    case 818: value = 909; break;      /* ldaddl --> staddl.  */
-    case 820: value = 910; break;      /* ldclrb --> stclrb.  */
-    case 821: value = 911; break;      /* ldclrh --> stclrh.  */
-    case 822: value = 912; break;      /* ldclr --> stclr.  */
-    case 824: value = 913; break;      /* ldclrlb --> stclrlb.  */
-    case 827: value = 914; break;      /* ldclrlh --> stclrlh.  */
-    case 830: value = 915; break;      /* ldclrl --> stclrl.  */
-    case 832: value = 916; break;      /* ldeorb --> steorb.  */
-    case 833: value = 917; break;      /* ldeorh --> steorh.  */
-    case 834: value = 918; break;      /* ldeor --> steor.  */
-    case 836: value = 919; break;      /* ldeorlb --> steorlb.  */
-    case 839: value = 920; break;      /* ldeorlh --> steorlh.  */
-    case 842: value = 921; break;      /* ldeorl --> steorl.  */
-    case 844: value = 922; break;      /* ldsetb --> stsetb.  */
-    case 845: value = 923; break;      /* ldseth --> stseth.  */
-    case 846: value = 924; break;      /* ldset --> stset.  */
-    case 848: value = 925; break;      /* ldsetlb --> stsetlb.  */
-    case 851: value = 926; break;      /* ldsetlh --> stsetlh.  */
-    case 854: value = 927; break;      /* ldsetl --> stsetl.  */
-    case 856: value = 928; break;      /* ldsmaxb --> stsmaxb.  */
-    case 857: value = 929; break;      /* ldsmaxh --> stsmaxh.  */
-    case 858: value = 930; break;      /* ldsmax --> stsmax.  */
-    case 860: value = 931; break;      /* ldsmaxlb --> stsmaxlb.  */
-    case 863: value = 932; break;      /* ldsmaxlh --> stsmaxlh.  */
-    case 866: value = 933; break;      /* ldsmaxl --> stsmaxl.  */
-    case 868: value = 934; break;      /* ldsminb --> stsminb.  */
-    case 869: value = 935; break;      /* ldsminh --> stsminh.  */
-    case 870: value = 936; break;      /* ldsmin --> stsmin.  */
-    case 872: value = 937; break;      /* ldsminlb --> stsminlb.  */
-    case 875: value = 938; break;      /* ldsminlh --> stsminlh.  */
-    case 878: value = 939; break;      /* ldsminl --> stsminl.  */
-    case 880: value = 940; break;      /* ldumaxb --> stumaxb.  */
-    case 881: value = 941; break;      /* ldumaxh --> stumaxh.  */
-    case 882: value = 942; break;      /* ldumax --> stumax.  */
-    case 884: value = 943; break;      /* ldumaxlb --> stumaxlb.  */
-    case 887: value = 944; break;      /* ldumaxlh --> stumaxlh.  */
-    case 890: value = 945; break;      /* ldumaxl --> stumaxl.  */
-    case 892: value = 946; break;      /* lduminb --> stuminb.  */
-    case 893: value = 947; break;      /* lduminh --> stuminh.  */
-    case 894: value = 948; break;      /* ldumin --> stumin.  */
-    case 896: value = 949; break;      /* lduminlb --> stuminlb.  */
-    case 899: value = 950; break;      /* lduminlh --> stuminlh.  */
-    case 902: value = 951; break;      /* lduminl --> stuminl.  */
-    case 952: value = 953; break;      /* movn --> mov.  */
-    case 954: value = 955; break;      /* movz --> mov.  */
-    case 960: value = 966; break;      /* hint --> sevl.  */
-    case 971: value = 975; break;      /* sys --> tlbi.  */
+    case 811: value = 812; break;      /* and --> bic.  */
+    case 813: value = 814; break;      /* orr --> mov.  */
+    case 816: value = 817; break;      /* ands --> tst.  */
+    case 820: value = 822; break;      /* orr --> uxtw.  */
+    case 823: value = 824; break;      /* orn --> mvn.  */
+    case 827: value = 828; break;      /* ands --> tst.  */
+    case 858: value = 954; break;      /* ldaddb --> staddb.  */
+    case 859: value = 955; break;      /* ldaddh --> staddh.  */
+    case 860: value = 956; break;      /* ldadd --> stadd.  */
+    case 862: value = 957; break;      /* ldaddlb --> staddlb.  */
+    case 865: value = 958; break;      /* ldaddlh --> staddlh.  */
+    case 868: value = 959; break;      /* ldaddl --> staddl.  */
+    case 870: value = 960; break;      /* ldclrb --> stclrb.  */
+    case 871: value = 961; break;      /* ldclrh --> stclrh.  */
+    case 872: value = 962; break;      /* ldclr --> stclr.  */
+    case 874: value = 963; break;      /* ldclrlb --> stclrlb.  */
+    case 877: value = 964; break;      /* ldclrlh --> stclrlh.  */
+    case 880: value = 965; break;      /* ldclrl --> stclrl.  */
+    case 882: value = 966; break;      /* ldeorb --> steorb.  */
+    case 883: value = 967; break;      /* ldeorh --> steorh.  */
+    case 884: value = 968; break;      /* ldeor --> steor.  */
+    case 886: value = 969; break;      /* ldeorlb --> steorlb.  */
+    case 889: value = 970; break;      /* ldeorlh --> steorlh.  */
+    case 892: value = 971; break;      /* ldeorl --> steorl.  */
+    case 894: value = 972; break;      /* ldsetb --> stsetb.  */
+    case 895: value = 973; break;      /* ldseth --> stseth.  */
+    case 896: value = 974; break;      /* ldset --> stset.  */
+    case 898: value = 975; break;      /* ldsetlb --> stsetlb.  */
+    case 901: value = 976; break;      /* ldsetlh --> stsetlh.  */
+    case 904: value = 977; break;      /* ldsetl --> stsetl.  */
+    case 906: value = 978; break;      /* ldsmaxb --> stsmaxb.  */
+    case 907: value = 979; break;      /* ldsmaxh --> stsmaxh.  */
+    case 908: value = 980; break;      /* ldsmax --> stsmax.  */
+    case 910: value = 981; break;      /* ldsmaxlb --> stsmaxlb.  */
+    case 913: value = 982; break;      /* ldsmaxlh --> stsmaxlh.  */
+    case 916: value = 983; break;      /* ldsmaxl --> stsmaxl.  */
+    case 918: value = 984; break;      /* ldsminb --> stsminb.  */
+    case 919: value = 985; break;      /* ldsminh --> stsminh.  */
+    case 920: value = 986; break;      /* ldsmin --> stsmin.  */
+    case 922: value = 987; break;      /* ldsminlb --> stsminlb.  */
+    case 925: value = 988; break;      /* ldsminlh --> stsminlh.  */
+    case 928: value = 989; break;      /* ldsminl --> stsminl.  */
+    case 930: value = 990; break;      /* ldumaxb --> stumaxb.  */
+    case 931: value = 991; break;      /* ldumaxh --> stumaxh.  */
+    case 932: value = 992; break;      /* ldumax --> stumax.  */
+    case 934: value = 993; break;      /* ldumaxlb --> stumaxlb.  */
+    case 937: value = 994; break;      /* ldumaxlh --> stumaxlh.  */
+    case 940: value = 995; break;      /* ldumaxl --> stumaxl.  */
+    case 942: value = 996; break;      /* lduminb --> stuminb.  */
+    case 943: value = 997; break;      /* lduminh --> stuminh.  */
+    case 944: value = 998; break;      /* ldumin --> stumin.  */
+    case 946: value = 999; break;      /* lduminlb --> stuminlb.  */
+    case 949: value = 1000; break;     /* lduminlh --> stuminlh.  */
+    case 952: value = 1001; break;     /* lduminl --> stuminl.  */
+    case 1002: value = 1003; break;    /* movn --> mov.  */
+    case 1004: value = 1005; break;    /* movz --> mov.  */
+    case 1010: value = 1016; break;    /* hint --> sevl.  */
+    case 1021: value = 1025; break;    /* sys --> tlbi.  */
     default: return NULL;
     }
 
@@ -9114,73 +9214,73 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 592: value = 591; break;      /* umull --> umaddl.  */
     case 594: value = 593; break;      /* umnegl --> umsubl.  */
     case 605: value = 604; break;      /* ror --> extr.  */
-    case 762: value = 761; break;      /* bic --> and.  */
-    case 764: value = 763; break;      /* mov --> orr.  */
-    case 767: value = 766; break;      /* tst --> ands.  */
-    case 772: value = 771; break;      /* uxtw --> mov.  */
-    case 771: value = 770; break;      /* mov --> orr.  */
-    case 774: value = 773; break;      /* mvn --> orn.  */
-    case 778: value = 777; break;      /* tst --> ands.  */
-    case 904: value = 808; break;      /* staddb --> ldaddb.  */
-    case 905: value = 809; break;      /* staddh --> ldaddh.  */
-    case 906: value = 810; break;      /* stadd --> ldadd.  */
-    case 907: value = 812; break;      /* staddlb --> ldaddlb.  */
-    case 908: value = 815; break;      /* staddlh --> ldaddlh.  */
-    case 909: value = 818; break;      /* staddl --> ldaddl.  */
-    case 910: value = 820; break;      /* stclrb --> ldclrb.  */
-    case 911: value = 821; break;      /* stclrh --> ldclrh.  */
-    case 912: value = 822; break;      /* stclr --> ldclr.  */
-    case 913: value = 824; break;      /* stclrlb --> ldclrlb.  */
-    case 914: value = 827; break;      /* stclrlh --> ldclrlh.  */
-    case 915: value = 830; break;      /* stclrl --> ldclrl.  */
-    case 916: value = 832; break;      /* steorb --> ldeorb.  */
-    case 917: value = 833; break;      /* steorh --> ldeorh.  */
-    case 918: value = 834; break;      /* steor --> ldeor.  */
-    case 919: value = 836; break;      /* steorlb --> ldeorlb.  */
-    case 920: value = 839; break;      /* steorlh --> ldeorlh.  */
-    case 921: value = 842; break;      /* steorl --> ldeorl.  */
-    case 922: value = 844; break;      /* stsetb --> ldsetb.  */
-    case 923: value = 845; break;      /* stseth --> ldseth.  */
-    case 924: value = 846; break;      /* stset --> ldset.  */
-    case 925: value = 848; break;      /* stsetlb --> ldsetlb.  */
-    case 926: value = 851; break;      /* stsetlh --> ldsetlh.  */
-    case 927: value = 854; break;      /* stsetl --> ldsetl.  */
-    case 928: value = 856; break;      /* stsmaxb --> ldsmaxb.  */
-    case 929: value = 857; break;      /* stsmaxh --> ldsmaxh.  */
-    case 930: value = 858; break;      /* stsmax --> ldsmax.  */
-    case 931: value = 860; break;      /* stsmaxlb --> ldsmaxlb.  */
-    case 932: value = 863; break;      /* stsmaxlh --> ldsmaxlh.  */
-    case 933: value = 866; break;      /* stsmaxl --> ldsmaxl.  */
-    case 934: value = 868; break;      /* stsminb --> ldsminb.  */
-    case 935: value = 869; break;      /* stsminh --> ldsminh.  */
-    case 936: value = 870; break;      /* stsmin --> ldsmin.  */
-    case 937: value = 872; break;      /* stsminlb --> ldsminlb.  */
-    case 938: value = 875; break;      /* stsminlh --> ldsminlh.  */
-    case 939: value = 878; break;      /* stsminl --> ldsminl.  */
-    case 940: value = 880; break;      /* stumaxb --> ldumaxb.  */
-    case 941: value = 881; break;      /* stumaxh --> ldumaxh.  */
-    case 942: value = 882; break;      /* stumax --> ldumax.  */
-    case 943: value = 884; break;      /* stumaxlb --> ldumaxlb.  */
-    case 944: value = 887; break;      /* stumaxlh --> ldumaxlh.  */
-    case 945: value = 890; break;      /* stumaxl --> ldumaxl.  */
-    case 946: value = 892; break;      /* stuminb --> lduminb.  */
-    case 947: value = 893; break;      /* stuminh --> lduminh.  */
-    case 948: value = 894; break;      /* stumin --> ldumin.  */
-    case 949: value = 896; break;      /* stuminlb --> lduminlb.  */
-    case 950: value = 899; break;      /* stuminlh --> lduminlh.  */
-    case 951: value = 902; break;      /* stuminl --> lduminl.  */
-    case 953: value = 952; break;      /* mov --> movn.  */
-    case 955: value = 954; break;      /* mov --> movz.  */
-    case 966: value = 965; break;      /* sevl --> sev.  */
-    case 965: value = 964; break;      /* sev --> wfi.  */
-    case 964: value = 963; break;      /* wfi --> wfe.  */
-    case 963: value = 962; break;      /* wfe --> yield.  */
-    case 962: value = 961; break;      /* yield --> nop.  */
-    case 961: value = 960; break;      /* nop --> hint.  */
-    case 975: value = 974; break;      /* tlbi --> ic.  */
-    case 974: value = 973; break;      /* ic --> dc.  */
-    case 973: value = 972; break;      /* dc --> at.  */
-    case 972: value = 971; break;      /* at --> sys.  */
+    case 812: value = 811; break;      /* bic --> and.  */
+    case 814: value = 813; break;      /* mov --> orr.  */
+    case 817: value = 816; break;      /* tst --> ands.  */
+    case 822: value = 821; break;      /* uxtw --> mov.  */
+    case 821: value = 820; break;      /* mov --> orr.  */
+    case 824: value = 823; break;      /* mvn --> orn.  */
+    case 828: value = 827; break;      /* tst --> ands.  */
+    case 954: value = 858; break;      /* staddb --> ldaddb.  */
+    case 955: value = 859; break;      /* staddh --> ldaddh.  */
+    case 956: value = 860; break;      /* stadd --> ldadd.  */
+    case 957: value = 862; break;      /* staddlb --> ldaddlb.  */
+    case 958: value = 865; break;      /* staddlh --> ldaddlh.  */
+    case 959: value = 868; break;      /* staddl --> ldaddl.  */
+    case 960: value = 870; break;      /* stclrb --> ldclrb.  */
+    case 961: value = 871; break;      /* stclrh --> ldclrh.  */
+    case 962: value = 872; break;      /* stclr --> ldclr.  */
+    case 963: value = 874; break;      /* stclrlb --> ldclrlb.  */
+    case 964: value = 877; break;      /* stclrlh --> ldclrlh.  */
+    case 965: value = 880; break;      /* stclrl --> ldclrl.  */
+    case 966: value = 882; break;      /* steorb --> ldeorb.  */
+    case 967: value = 883; break;      /* steorh --> ldeorh.  */
+    case 968: value = 884; break;      /* steor --> ldeor.  */
+    case 969: value = 886; break;      /* steorlb --> ldeorlb.  */
+    case 970: value = 889; break;      /* steorlh --> ldeorlh.  */
+    case 971: value = 892; break;      /* steorl --> ldeorl.  */
+    case 972: value = 894; break;      /* stsetb --> ldsetb.  */
+    case 973: value = 895; break;      /* stseth --> ldseth.  */
+    case 974: value = 896; break;      /* stset --> ldset.  */
+    case 975: value = 898; break;      /* stsetlb --> ldsetlb.  */
+    case 976: value = 901; break;      /* stsetlh --> ldsetlh.  */
+    case 977: value = 904; break;      /* stsetl --> ldsetl.  */
+    case 978: value = 906; break;      /* stsmaxb --> ldsmaxb.  */
+    case 979: value = 907; break;      /* stsmaxh --> ldsmaxh.  */
+    case 980: value = 908; break;      /* stsmax --> ldsmax.  */
+    case 981: value = 910; break;      /* stsmaxlb --> ldsmaxlb.  */
+    case 982: value = 913; break;      /* stsmaxlh --> ldsmaxlh.  */
+    case 983: value = 916; break;      /* stsmaxl --> ldsmaxl.  */
+    case 984: value = 918; break;      /* stsminb --> ldsminb.  */
+    case 985: value = 919; break;      /* stsminh --> ldsminh.  */
+    case 986: value = 920; break;      /* stsmin --> ldsmin.  */
+    case 987: value = 922; break;      /* stsminlb --> ldsminlb.  */
+    case 988: value = 925; break;      /* stsminlh --> ldsminlh.  */
+    case 989: value = 928; break;      /* stsminl --> ldsminl.  */
+    case 990: value = 930; break;      /* stumaxb --> ldumaxb.  */
+    case 991: value = 931; break;      /* stumaxh --> ldumaxh.  */
+    case 992: value = 932; break;      /* stumax --> ldumax.  */
+    case 993: value = 934; break;      /* stumaxlb --> ldumaxlb.  */
+    case 994: value = 937; break;      /* stumaxlh --> ldumaxlh.  */
+    case 995: value = 940; break;      /* stumaxl --> ldumaxl.  */
+    case 996: value = 942; break;      /* stuminb --> lduminb.  */
+    case 997: value = 943; break;      /* stuminh --> lduminh.  */
+    case 998: value = 944; break;      /* stumin --> ldumin.  */
+    case 999: value = 946; break;      /* stuminlb --> lduminlb.  */
+    case 1000: value = 949; break;     /* stuminlh --> lduminlh.  */
+    case 1001: value = 952; break;     /* stuminl --> lduminl.  */
+    case 1003: value = 1002; break;    /* mov --> movn.  */
+    case 1005: value = 1004; break;    /* mov --> movz.  */
+    case 1016: value = 1015; break;    /* sevl --> sev.  */
+    case 1015: value = 1014; break;    /* sev --> wfi.  */
+    case 1014: value = 1013; break;    /* wfi --> wfe.  */
+    case 1013: value = 1012; break;    /* wfe --> yield.  */
+    case 1012: value = 1011; break;    /* yield --> nop.  */
+    case 1011: value = 1010; break;    /* nop --> hint.  */
+    case 1025: value = 1024; break;    /* tlbi --> ic.  */
+    case 1024: value = 1023; break;    /* ic --> dc.  */
+    case 1023: value = 1022; break;    /* dc --> at.  */
+    case 1022: value = 1021; break;    /* at --> sys.  */
     default: return NULL;
     }
 
index ca3f35b..968e99c 100644 (file)
@@ -121,48 +121,48 @@ const struct aarch64_operand aarch64_operands[] =
 static const unsigned op_enum_table [] =
 {
   0,
-  670,
-  671,
-  672,
-  675,
-  676,
-  677,
-  678,
-  679,
-  673,
-  674,
-  680,
-  681,
-  703,
-  704,
-  705,
-  708,
-  709,
-  710,
-  711,
-  712,
-  706,
-  707,
-  713,
-  714,
-  757,
+  720,
+  721,
+  722,
+  725,
+  726,
+  727,
+  728,
+  729,
+  723,
+  724,
+  730,
+  731,
+  753,
+  754,
+  755,
   758,
   759,
   760,
+  761,
+  762,
+  756,
+  757,
+  763,
+  764,
+  807,
+  808,
+  809,
+  810,
   12,
   519,
   520,
-  952,
-  954,
-  956,
-  764,
-  955,
-  953,
+  1002,
+  1004,
+  1006,
+  814,
+  1005,
+  1003,
   261,
   507,
   518,
   517,
-  762,
+  812,
   514,
   511,
   503,
@@ -172,13 +172,13 @@ static const unsigned op_enum_table [] =
   513,
   515,
   516,
-  772,
+  822,
   535,
   538,
   541,
   536,
   539,
-  636,
+  664,
   162,
   163,
   164,
index 6b77b36..50bbc2d 100644 (file)
   QLF3(S_S,X,imm_1_64),                \
 }
 
+/* e.g. SCVTF <Hd>, <Xn>, #<fbits>.  */
+#define QL_FIX2FP_H                    \
+{                                      \
+  QLF3 (S_H, W, imm_1_32),             \
+  QLF3 (S_H, X, imm_1_64),             \
+}
+
 /* e.g. FCVTZS <Wd>, <Dn>, #<fbits>.  */
 #define QL_FP2FIX              \
 {                              \
   QLF3(X,S_S,imm_1_64),                \
 }
 
+/* e.g. FCVTZS <Wd>, <Hn>, #<fbits>.  */
+#define QL_FP2FIX_H                    \
+{                                      \
+  QLF3 (W, S_H, imm_1_32),             \
+  QLF3 (X, S_H, imm_1_64),             \
+}
+
 /* e.g. SCVTF <Dd>, <Wn>.  */
 #define QL_INT2FP              \
 {                              \
   QLF2(S_S,X),                 \
 }
 
+/* e.g. SCVTF <Hd>, <Wn>.  */
+#define QL_INT2FP_H                    \
+{                                      \
+  QLF2 (S_H, W),                       \
+  QLF2 (S_H, X),                       \
+}
+
 /* e.g. FCVTNS <Xd>, <Dn>.  */
 #define QL_FP2INT              \
 {                              \
   QLF2(X,S_S),                 \
 }
 
+/* e.g. FCVTNS <Hd>, <Wn>.  */
+#define QL_FP2INT_H                    \
+{                                      \
+  QLF2 (W, S_H),                       \
+  QLF2 (X, S_H),                       \
+}
+
 /* e.g. FMOV <Xd>, <Vn>.D[1].  */
 #define QL_XVD1                        \
 {                              \
   QLF2(S_D, S_D),              \
 }
 
+/* FMOV <Hd>, <Hn>.  */
+#define QL_FP2_H               \
+{                              \
+  QLF2 (S_H, S_H),             \
+}
+
 /* e.g. SQADD <V><d>, <V><n>, <V><m>.  */
 #define QL_S_3SAME             \
 {                              \
   QLF3(S_D, S_D, S_D),         \
 }
 
+/* FMUL <Hd>, <Hn>, <Hm>.  */
+#define QL_FP3_H               \
+{                              \
+  QLF3 (S_H, S_H, S_H),                \
+}
+
 /* FMADD <Dd>, <Dn>, <Dm>, <Da>.  */
 #define QL_FP4                 \
 {                              \
   QLF4(S_D, S_D, S_D, S_D),    \
 }
 
+/* FMADD <Hd>, <Hn>, <Hm>, <Ha>.  */
+#define QL_FP4_H               \
+{                              \
+  QLF4 (S_H, S_H, S_H, S_H),   \
+}
+
 /* e.g. FCMP <Dn>, #0.0.  */
 #define QL_DST_SD                      \
 {                              \
   QLF2(S_D, NIL),              \
 }
 
+/* e.g. FCMP <Hn>, #0.0.  */
+#define QL_DST_H               \
+{                              \
+  QLF2 (S_H, NIL),             \
+}
+
 /* FCSEL <Sd>, <Sn>, <Sm>, <cond>.  */
 #define QL_FP_COND             \
 {                              \
   QLF4(S_D, S_D, S_D, NIL),    \
 }
 
+/* FCSEL <Hd>, <Hn>, <Hm>, <cond>.  */
+#define QL_FP_COND_H           \
+{                              \
+  QLF4 (S_H, S_H, S_H, NIL),   \
+}
+
 /* e.g. CCMN <Xn>, <Xm>, #<nzcv>, <cond>.  */
 #define QL_CCMP                        \
 {                              \
   QLF4(S_D, S_D, NIL, NIL),    \
 }
 
+/* e.g. FCCMP <Sn>, <Sm>, #<nzcv>, <cond>.  */
+#define QL_FCCMP_H             \
+{                              \
+  QLF4 (S_H, S_H, NIL, NIL),   \
+}
+
 /* e.g. DUP <Vd>.<T>, <Vn>.<Ts>[<index>].  */
 #define QL_DUP_VX              \
 {                              \
@@ -1907,66 +1971,166 @@ struct aarch64_opcode aarch64_opcode_table[] =
   {"ror", 0x13800000, 0x7fa00000, extract, OP_ROR_IMM, CORE, OP3 (Rd, Rm, IMMS), QL_SHIFT, F_ALIAS | F_CONV},
   /* Floating-point<->fixed-point conversions.  */
   {"scvtf", 0x1e020000, 0x7f3f0000, float2fix, 0, FP, OP3 (Fd, Rn, FBITS), QL_FIX2FP, F_FPTYPE | F_SF},
+  {"scvtf", 0x1ec20000, 0x7f3f0000, float2fix, 0, FP_F16,
+   OP3 (Fd, Rn, FBITS), QL_FIX2FP_H, F_FPTYPE | F_SF},
   {"ucvtf", 0x1e030000, 0x7f3f0000, float2fix, 0, FP, OP3 (Fd, Rn, FBITS), QL_FIX2FP, F_FPTYPE | F_SF},
+  {"ucvtf", 0x1ec30000, 0x7f3f0000, float2fix, 0, FP_F16,
+   OP3 (Fd, Rn, FBITS), QL_FIX2FP_H, F_FPTYPE | F_SF},
   {"fcvtzs", 0x1e180000, 0x7f3f0000, float2fix, 0, FP, OP3 (Rd, Fn, FBITS), QL_FP2FIX, F_FPTYPE | F_SF},
+  {"fcvtzs", 0x1ed80000, 0x7f3f0000, float2fix, 0, FP_F16,
+   OP3 (Rd, Fn, FBITS), QL_FP2FIX_H, F_FPTYPE | F_SF},
   {"fcvtzu", 0x1e190000, 0x7f3f0000, float2fix, 0, FP, OP3 (Rd, Fn, FBITS), QL_FP2FIX, F_FPTYPE | F_SF},
+  {"fcvtzu", 0x1ed90000, 0x7f3f0000, float2fix, 0, FP_F16,
+   OP3 (Rd, Fn, FBITS), QL_FP2FIX_H, F_FPTYPE | F_SF},
   /* Floating-point<->integer conversions.  */
   {"fcvtns", 0x1e200000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtns", 0x1ee00000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtnu", 0x1e210000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtnu", 0x1ee10000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"scvtf", 0x1e220000, 0x7f3ffc00, float2int, 0, FP, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF},
+  {"scvtf", 0x1ee20000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF},
   {"ucvtf", 0x1e230000, 0x7f3ffc00, float2int, 0, FP, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF},
+  {"ucvtf", 0x1ee30000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF},
   {"fcvtas", 0x1e240000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtas", 0x1ee40000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtau", 0x1e250000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtau", 0x1ee50000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fmov", 0x1e260000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fmov", 0x1ee60000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fmov", 0x1e270000, 0x7f3ffc00, float2int, 0, FP, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF},
+  {"fmov", 0x1ee70000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF},
   {"fcvtps", 0x1e280000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtps", 0x1ee80000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtpu", 0x1e290000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtpu", 0x1ee90000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtms", 0x1e300000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtms", 0x1ef00000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtmu", 0x1e310000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtmu", 0x1ef10000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtzs", 0x1e380000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtzs", 0x1ef80000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fcvtzu", 0x1e390000, 0x7f3ffc00, float2int, 0, FP, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF},
+  {"fcvtzu", 0x1ef90000, 0x7f3ffc00, float2int, 0, FP_F16,
+   OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF},
   {"fmov", 0x9eae0000, 0xfffffc00, float2int, 0, FP, OP2 (Rd, VnD1), QL_XVD1, 0},
   {"fmov", 0x9eaf0000, 0xfffffc00, float2int, 0, FP, OP2 (VdD1, Rn), QL_VD1X, 0},
   /* Floating-point conditional compare.  */
   {"fccmp", 0x1e200400, 0xff200c10, floatccmp, 0, FP, OP4 (Fn, Fm, NZCV, COND), QL_FCCMP, F_FPTYPE},
+  {"fccmp", 0x1ee00400, 0xff200c10, floatccmp, 0, FP_F16,
+   OP4 (Fn, Fm, NZCV, COND), QL_FCCMP_H, F_FPTYPE},
   {"fccmpe", 0x1e200410, 0xff200c10, floatccmp, 0, FP, OP4 (Fn, Fm, NZCV, COND), QL_FCCMP, F_FPTYPE},
+  {"fccmpe", 0x1ee00410, 0xff200c10, floatccmp, 0, FP_F16,
+   OP4 (Fn, Fm, NZCV, COND), QL_FCCMP_H, F_FPTYPE},
   /* Floating-point compare.  */
   {"fcmp", 0x1e202000, 0xff20fc1f, floatcmp, 0, FP, OP2 (Fn, Fm), QL_FP2, F_FPTYPE},
+  {"fcmp", 0x1ee02000, 0xff20fc1f, floatcmp, 0, FP_F16,
+   OP2 (Fn, Fm), QL_FP2_H, F_FPTYPE},
   {"fcmpe", 0x1e202010, 0xff20fc1f, floatcmp, 0, FP, OP2 (Fn, Fm), QL_FP2, F_FPTYPE},
+  {"fcmpe", 0x1ee02010, 0xff20fc1f, floatcmp, 0, FP_F16,
+   OP2 (Fn, Fm), QL_FP2_H, F_FPTYPE},
   {"fcmp", 0x1e202008, 0xff20fc1f, floatcmp, 0, FP, OP2 (Fn, FPIMM0), QL_DST_SD, F_FPTYPE},
+  {"fcmp", 0x1ee02008, 0xff20fc1f, floatcmp, 0, FP_F16,
+   OP2 (Fn, FPIMM0), QL_FP2_H, F_FPTYPE},
   {"fcmpe", 0x1e202018, 0xff20fc1f, floatcmp, 0, FP, OP2 (Fn, FPIMM0), QL_DST_SD, F_FPTYPE},
+  {"fcmpe", 0x1ee02018, 0xff20fc1f, floatcmp, 0, FP_F16,
+   OP2 (Fn, FPIMM0), QL_FP2_H, F_FPTYPE},
   /* Floating-point data-processing (1 source).  */
   {"fmov", 0x1e204000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"fmov", 0x1ee04000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"fabs", 0x1e20c000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"fabs", 0x1ee0c000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"fneg", 0x1e214000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"fneg", 0x1ee14000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"fsqrt", 0x1e21c000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"fsqrt", 0x1ee1c000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"fcvt", 0x1e224000, 0xff3e7c00, floatdp1, OP_FCVT, FP, OP2 (Fd, Fn), QL_FCVT, F_FPTYPE | F_MISC},
   {"frintn", 0x1e244000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frintn", 0x1ee44000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"frintp", 0x1e24c000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frintp", 0x1ee4c000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"frintm", 0x1e254000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frintm", 0x1ee54000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"frintz", 0x1e25c000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frintz", 0x1ee5c000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"frinta", 0x1e264000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frinta", 0x1ee64000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"frintx", 0x1e274000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frintx", 0x1ee74000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   {"frinti", 0x1e27c000, 0xff3ffc00, floatdp1, 0, FP, OP2 (Fd, Fn), QL_FP2, F_FPTYPE},
+  {"frinti", 0x1ee7c000, 0xff3ffc00, floatdp1, 0, FP_F16,
+   OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE},
   /* Floating-point data-processing (2 source).  */
   {"fmul", 0x1e200800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fmul", 0x1ee00800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fdiv", 0x1e201800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fdiv", 0x1ee01800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fadd", 0x1e202800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fadd", 0x1ee02800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fsub", 0x1e203800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fsub", 0x1ee03800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fmax", 0x1e204800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fmax", 0x1ee04800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fmin", 0x1e205800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fmin", 0x1ee05800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fmaxnm", 0x1e206800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fmaxnm", 0x1ee06800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fminnm", 0x1e207800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fminnm", 0x1ee07800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   {"fnmul", 0x1e208800, 0xff20fc00, floatdp2, 0, FP, OP3 (Fd, Fn, Fm), QL_FP3, F_FPTYPE},
+  {"fnmul", 0x1ee08800, 0xff20fc00, floatdp2, 0, FP_F16,
+   OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE},
   /* Floating-point data-processing (3 source).  */
   {"fmadd", 0x1f000000, 0xff208000, floatdp3, 0, FP, OP4 (Fd, Fn, Fm, Fa), QL_FP4, F_FPTYPE},
+  {"fmadd", 0x1fc00000, 0xff208000, floatdp3, 0, FP_F16,
+   OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE},
   {"fmsub", 0x1f008000, 0xff208000, floatdp3, 0, FP, OP4 (Fd, Fn, Fm, Fa), QL_FP4, F_FPTYPE},
+  {"fmsub", 0x1fc08000, 0xff208000, floatdp3, 0, FP_F16,
+   OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE},
   {"fnmadd", 0x1f200000, 0xff208000, floatdp3, 0, FP, OP4 (Fd, Fn, Fm, Fa), QL_FP4, F_FPTYPE},
+  {"fnmadd", 0x1fe00000, 0xff208000, floatdp3, 0, FP_F16,
+   OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE},
   {"fnmsub", 0x1f208000, 0xff208000, floatdp3, 0, FP, OP4 (Fd, Fn, Fm, Fa), QL_FP4, F_FPTYPE},
+  {"fnmsub", 0x1fe08000, 0xff208000, floatdp3, 0, FP_F16,
+   OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE},
   /* Floating-point immediate.  */
   {"fmov", 0x1e201000, 0xff201fe0, floatimm, 0, FP, OP2 (Fd, FPIMM), QL_DST_SD, F_FPTYPE},
+  {"fmov", 0x1ee01000, 0xff201fe0, floatimm, 0, FP_F16,
+   OP2 (Fd, FPIMM), QL_DST_H, F_FPTYPE},
   /* Floating-point conditional select.  */
   {"fcsel", 0x1e200c00, 0xff200c00, floatsel, 0, FP, OP4 (Fd, Fn, Fm, COND), QL_FP_COND, F_FPTYPE},
+  {"fcsel", 0x1ee00c00, 0xff200c00, floatsel, 0, FP_F16,
+   OP4 (Fd, Fn, Fm, COND), QL_FP_COND_H, F_FPTYPE},
   /* Load/store register (immediate indexed).  */
   {"strb", 0x38000400, 0xffe00400, ldst_imm9, 0, CORE, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0},
   {"ldrb", 0x38400400, 0xffe00400, ldst_imm9, 0, CORE, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0},