diff --git a/core/ir/aarch64/codec.c b/core/ir/aarch64/codec.c
index 9099010e46f76dc7dd1e73d469d8f841ec15aca8..10b204655ff1c9917af63a7adca85d5bf2eeac1c 100644
--- a/core/ir/aarch64/codec.c
+++ b/core/ir/aarch64/codec.c
@@ -2452,6 +2452,30 @@ encode_opnd_z_b_5(uint enc, int opcode, byte *pc, opnd_t opnd, OUT uint *enc_out
     return encode_single_sized(OPSZ_SCALABLE, 5, BYTE_REG, opnd, enc_out);
 }
 
+static inline bool
+decode_opnd_z_h_5(uint enc, int opcode, byte *pc, OUT opnd_t *opnd)
+{
+    return decode_single_sized(DR_REG_Z0, 5, 5, HALF_REG, enc, opnd);
+}
+
+static inline bool
+encode_opnd_z_h_5(uint enc, int opcode, byte *pc, opnd_t opnd, OUT uint *enc_out)
+{
+    return encode_single_sized(OPSZ_SCALABLE, 5, HALF_REG, opnd, enc_out);
+}
+
+static inline bool
+decode_opnd_z_s_5(uint enc, int opcode, byte *pc, OUT opnd_t *opnd)
+{
+    return decode_single_sized(DR_REG_Z0, 5, 5, SINGLE_REG, enc, opnd);
+}
+
+static inline bool
+encode_opnd_z_s_5(uint enc, int opcode, byte *pc, opnd_t opnd, OUT uint *enc_out)
+{
+    return encode_single_sized(OPSZ_SCALABLE, 5, SINGLE_REG, opnd, enc_out);
+}
+
 static inline bool
 decode_opnd_z_d_5(uint enc, int opcode, byte *pc, OUT opnd_t *opnd)
 {
diff --git a/core/ir/aarch64/codec_sve.txt b/core/ir/aarch64/codec_sve.txt
index b61231d94ced8b531403c476ca139e0696650458..55f3df67245e266892c4da3bd421db1eda3f8520 100644
--- a/core/ir/aarch64/codec_sve.txt
+++ b/core/ir/aarch64/codec_sve.txt
@@ -165,6 +165,26 @@
 01100101xx0xxxxx011xxxxxxxx1xxxx  n   805  SVE    fcmne   p_size_hsd_0 : p10_zer_lo z_size_hsd_5 z_size_hsd_16
 01100101xx0xxxxx110xxxxxxxx0xxxx  n   806  SVE    fcmuo   p_size_hsd_0 : p10_zer_lo z_size_hsd_5 z_size_hsd_16
 00000101xx01xxxx110xxxxxxxxxxxxx  n   906  SVE     fcpy   z_size_hsd_0 : p16_mrg fpimm8_5
+0110010111001000101xxxxxxxxxxxxx  n   110  SVE     fcvt          z_h_0 : p10_mrg_lo z_d_5
+0110010111001010101xxxxxxxxxxxxx  n   110  SVE     fcvt          z_s_0 : p10_mrg_lo z_d_5
+0110010111001001101xxxxxxxxxxxxx  n   110  SVE     fcvt          z_d_0 : p10_mrg_lo z_h_5
+0110010110001001101xxxxxxxxxxxxx  n   110  SVE     fcvt          z_s_0 : p10_mrg_lo z_h_5
+0110010111001011101xxxxxxxxxxxxx  n   110  SVE     fcvt          z_d_0 : p10_mrg_lo z_s_5
+0110010110001000101xxxxxxxxxxxxx  n   110  SVE     fcvt          z_h_0 : p10_mrg_lo z_s_5
+0110010111011000101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_s_0 : p10_mrg_lo z_d_5
+0110010111011110101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_d_0 : p10_mrg_lo z_d_5
+0110010101011010101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_h_0 : p10_mrg_lo z_h_5
+0110010101011100101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_s_0 : p10_mrg_lo z_h_5
+0110010101011110101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_d_0 : p10_mrg_lo z_h_5
+0110010110011100101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_s_0 : p10_mrg_lo z_s_5
+0110010111011100101xxxxxxxxxxxxx  n   125  SVE   fcvtzs          z_d_0 : p10_mrg_lo z_s_5
+0110010111011001101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_s_0 : p10_mrg_lo z_d_5
+0110010111011111101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_d_0 : p10_mrg_lo z_d_5
+0110010101011011101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_h_0 : p10_mrg_lo z_h_5
+0110010101011101101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_s_0 : p10_mrg_lo z_h_5
+0110010101011111101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_d_0 : p10_mrg_lo z_h_5
+0110010110011101101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_s_0 : p10_mrg_lo z_s_5
+0110010111011101101xxxxxxxxxxxxx  n   126  SVE   fcvtzu          z_d_0 : p10_mrg_lo z_s_5
 00100101xx111001110xxxxxxxxxxxxx  n   907  SVE     fdup   z_size_hsd_0 : fpimm8_5
 00000100xx100000101110xxxxxxxxxx  n   789  SVE    fexpa   z_size_hsd_0 : z_size_hsd_5
 0110010101000100001xxxxxxxxxxxxx  n   132  SVE  fmaxnmv             h0 : p10_lo z_size_hsd_5
@@ -179,6 +199,13 @@
 0110010101000111001xxxxxxxxxxxxx  n   140  SVE    fminv             h0 : p10_lo z_size_hsd_5
 0110010110000111001xxxxxxxxxxxxx  n   140  SVE    fminv             s0 : p10_lo z_size_hsd_5
 0110010111000111001xxxxxxxxxxxxx  n   140  SVE    fminv             d0 : p10_lo z_size_hsd_5
+01100101xx000100101xxxxxxxxxxxxx  n   158  SVE   frinta   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
+01100101xx000111101xxxxxxxxxxxxx  n   159  SVE   frinti   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
+01100101xx000010101xxxxxxxxxxxxx  n   160  SVE   frintm   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
+01100101xx000000101xxxxxxxxxxxxx  n   161  SVE   frintn   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
+01100101xx000001101xxxxxxxxxxxxx  n   162  SVE   frintp   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
+01100101xx000110101xxxxxxxxxxxxx  n   163  SVE   frintx   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
+01100101xx000011101xxxxxxxxxxxxx  n   164  SVE   frintz   z_size_hsd_0 : p10_mrg_lo z_size_hsd_5
 01100101xx010xxx100000xxxxxxxxxx  n   790  SVE    ftmad   z_size_hsd_0 : z_size_hsd_0 z_size_hsd_5 imm3
 01100101xx0xxxxx000011xxxxxxxxxx  n   791  SVE   ftsmul   z_size_hsd_0 : z_size_hsd_5 z_size_hsd_16
 00000100xx1xxxxx101100xxxxxxxxxx  n   792  SVE   ftssel   z_size_hsd_0 : z_size_hsd_5 z_size_hsd_16
@@ -273,6 +300,13 @@
 0000010111100110100xxxxxxxxxxxxx  n   885  SVE     revw          z_d_0 : p10_mrg_lo z_d_5
 00000100xx001100000xxxxxxxxxxxxx  n   349  SVE     sabd  z_size_bhsd_0 : p10_mrg_lo z_size_bhsd_0 z_size_bhsd_5
 00000100xx000000001xxxxxxxxxxxxx  n   920  SVE    saddv             d0 : p10_lo z_size_bhs_5
+0110010101010010101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_h_0 : p10_mrg_lo z_h_5
+0110010111010000101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_d_0 : p10_mrg_lo z_s_5
+0110010101010100101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_h_0 : p10_mrg_lo z_s_5
+0110010110010100101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_s_0 : p10_mrg_lo z_s_5
+0110010111010110101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_d_0 : p10_mrg_lo z_d_5
+0110010101010110101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_h_0 : p10_mrg_lo z_d_5
+0110010111010100101xxxxxxxxxxxxx  n   362  SVE    scvtf          z_s_0 : p10_mrg_lo z_d_5
 00000100xx010100000xxxxxxxxxxxxx  n   363  SVE     sdiv    z_size_sd_0 : p10_mrg_lo z_size_sd_0 z_size_sd_5
 00000100xx010110000xxxxxxxxxxxxx  n   794  SVE    sdivr    z_size_sd_0 : p10_mrg_lo z_size_sd_0 z_size_sd_5
 001001010000xxxx01xxxx1xxxx1xxxx  n   896  SVE      sel          p_b_0 : p10 p_b_5 p_b_16
@@ -346,6 +380,13 @@
 00000101xx1xxxxx011101xxxxxxxxxx  n   495  SVE     trn2  z_size_bhsd_0 : z_size_bhsd_5 z_size_bhsd_16
 00000100xx001101000xxxxxxxxxxxxx  n   499  SVE     uabd  z_size_bhsd_0 : p10_mrg_lo z_size_bhsd_0 z_size_bhsd_5
 00000100xx000001001xxxxxxxxxxxxx  n   921  SVE    uaddv             d0 : p10_lo z_size_bhsd_5
+0110010101010011101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_h_0 : p10_mrg_lo z_h_5
+0110010111010001101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_d_0 : p10_mrg_lo z_s_5
+0110010101010101101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_h_0 : p10_mrg_lo z_s_5
+0110010110010101101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_s_0 : p10_mrg_lo z_s_5
+0110010111010111101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_d_0 : p10_mrg_lo z_d_5
+0110010101010111101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_h_0 : p10_mrg_lo z_d_5
+0110010111010101101xxxxxxxxxxxxx  n   510  SVE    ucvtf          z_s_0 : p10_mrg_lo z_d_5
 00000100xx010101000xxxxxxxxxxxxx  n   511  SVE     udiv    z_size_sd_0 : p10_mrg_lo z_size_sd_0 z_size_sd_5
 00000100xx010111000xxxxxxxxxxxxx  n   795  SVE    udivr    z_size_sd_0 : p10_mrg_lo z_size_sd_0 z_size_sd_5
 00000100xx001001000xxxxxxxxxxxxx  n   516  SVE     umax  z_size_bhsd_0 : p10_mrg_lo z_size_bhsd_0 z_size_bhsd_5
diff --git a/core/ir/aarch64/instr_create_api.h b/core/ir/aarch64/instr_create_api.h
index 854e4f4a8a74760cf137f10e13ed121eb292dc68..1ad5f5259341402e238586014f026bbc88c5ed05 100644
--- a/core/ir/aarch64/instr_create_api.h
+++ b/core/ir/aarch64/instr_create_api.h
@@ -9661,4 +9661,213 @@
 #define INSTR_CREATE_index_sve(dc, Zd, Rn_or_imm, Rm_or_imm) \
     instr_create_1dst_2src(dc, OP_index, Zd, Rn_or_imm, Rm_or_imm)
 
+/**
+ * Creates a FCVT instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FCVT    <Zd>.H, <Pg>/M, <Zn>.D
+ *    FCVT    <Zd>.S, <Pg>/M, <Zn>.D
+ *    FCVT    <Zd>.D, <Pg>/M, <Zn>.H
+ *    FCVT    <Zd>.S, <Pg>/M, <Zn>.H
+ *    FCVT    <Zd>.D, <Pg>/M, <Zn>.S
+ *    FCVT    <Zd>.H, <Pg>/M, <Zn>.S
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_fcvt_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_fcvt, Zd, Pg, Zn)
+
+/**
+ * Creates a FCVTZS instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FCVTZS  <Zd>.S, <Pg>/M, <Zn>.D
+ *    FCVTZS  <Zd>.D, <Pg>/M, <Zn>.D
+ *    FCVTZS  <Zd>.H, <Pg>/M, <Zn>.H
+ *    FCVTZS  <Zd>.S, <Pg>/M, <Zn>.H
+ *    FCVTZS  <Zd>.D, <Pg>/M, <Zn>.H
+ *    FCVTZS  <Zd>.S, <Pg>/M, <Zn>.S
+ *    FCVTZS  <Zd>.D, <Pg>/M, <Zn>.S
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_fcvtzs_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_fcvtzs, Zd, Pg, Zn)
+
+/**
+ * Creates a FCVTZU instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FCVTZU  <Zd>.S, <Pg>/M, <Zn>.D
+ *    FCVTZU  <Zd>.D, <Pg>/M, <Zn>.D
+ *    FCVTZU  <Zd>.H, <Pg>/M, <Zn>.H
+ *    FCVTZU  <Zd>.S, <Pg>/M, <Zn>.H
+ *    FCVTZU  <Zd>.D, <Pg>/M, <Zn>.H
+ *    FCVTZU  <Zd>.S, <Pg>/M, <Zn>.S
+ *    FCVTZU  <Zd>.D, <Pg>/M, <Zn>.S
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_fcvtzu_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_fcvtzu, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTA instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTA  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frinta_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frinta, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTI instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTI  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frinti_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frinti, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTM instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTM  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frintm_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frintm, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTN instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTN  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frintn_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frintn, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTP instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTP  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frintp_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frintp, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTX instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTX  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frintx_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frintx, Zd, Pg, Zn)
+
+/**
+ * Creates a FRINTZ instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    FRINTZ  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts>
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_frintz_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_frintz, Zd, Pg, Zn)
+
+/**
+ * Creates a SCVTF instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    SCVTF   <Zd>.H, <Pg>/M, <Zn>.H
+ *    SCVTF   <Zd>.D, <Pg>/M, <Zn>.S
+ *    SCVTF   <Zd>.H, <Pg>/M, <Zn>.S
+ *    SCVTF   <Zd>.S, <Pg>/M, <Zn>.S
+ *    SCVTF   <Zd>.D, <Pg>/M, <Zn>.D
+ *    SCVTF   <Zd>.H, <Pg>/M, <Zn>.D
+ *    SCVTF   <Zd>.S, <Pg>/M, <Zn>.D
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_scvtf_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_scvtf, Zd, Pg, Zn)
+
+/**
+ * Creates an UCVTF instruction.
+ *
+ * This macro is used to encode the forms:
+ * \verbatim
+ *    UCVTF   <Zd>.H, <Pg>/M, <Zn>.H
+ *    UCVTF   <Zd>.D, <Pg>/M, <Zn>.S
+ *    UCVTF   <Zd>.H, <Pg>/M, <Zn>.S
+ *    UCVTF   <Zd>.S, <Pg>/M, <Zn>.S
+ *    UCVTF   <Zd>.D, <Pg>/M, <Zn>.D
+ *    UCVTF   <Zd>.H, <Pg>/M, <Zn>.D
+ *    UCVTF   <Zd>.S, <Pg>/M, <Zn>.D
+ * \endverbatim
+ * \param dc   The void * dcontext used to allocate memory for the #instr_t.
+ * \param Zd   The destination vector register, Z (Scalable).
+ * \param Pg   The governing predicate register, P (Predicate).
+ * \param Zn   The source vector register, Z (Scalable).
+ */
+#define INSTR_CREATE_ucvtf_sve_pred(dc, Zd, Pg, Zn) \
+    instr_create_1dst_2src(dc, OP_ucvtf, Zd, Pg, Zn)
+
 #endif /* DR_IR_MACROS_AARCH64_H */
diff --git a/core/ir/aarch64/opnd_defs.txt b/core/ir/aarch64/opnd_defs.txt
index 426ca10c491b0a70b59b9243d2c4aaf2be517c2b..6830efb42d0bd6cde86d826a7cd1df34c71f15e2 100644
--- a/core/ir/aarch64/opnd_defs.txt
+++ b/core/ir/aarch64/opnd_defs.txt
@@ -114,6 +114,8 @@
 ----------------------xxxxx-----  q5         # Q register
 ----------------------xxxxx-----  z5         # Z register
 ----------------------xxxxx-----  z_b_5      # Z register with b size elements
+----------------------xxxxx-----  z_h_5      # Z register with h size elements
+----------------------xxxxx-----  z_s_5      # Z register with s size elements
 ----------------------xxxxx-----  z_d_5      # Z register with d size elements
 ----------------------xxxxx-----  z_q_5      # Z register with q size elements
 ----------------------xxxxx-----  mem9qpost  # size is 16 bytes; post-index
diff --git a/suite/tests/api/dis-a64-sve.txt b/suite/tests/api/dis-a64-sve.txt
index a2590eb7a92a8f3574c580c171f60ff1f51c5db0..41904e4c74ab22df7aa9ac46b29b3041029ceb0d 100644
--- a/suite/tests/api/dis-a64-sve.txt
+++ b/suite/tests/api/dis-a64-sve.txt
@@ -5618,6 +5618,366 @@
 05decf7b : fcpy z27.d, p14/M, #1.6875                : fcpy   %p14/m $1.687500 -> %z27.d
 05dfcfff : fcpy z31.d, p15/M, #1.9375                : fcpy   %p15/m $1.937500 -> %z31.d
 
+# FCVT    <Zd>.H, <Pg>/M, <Zn>.D (FCVT-Z.P.Z-D2H)
+65c8a000 : fcvt z0.h, p0/M, z0.d                     : fcvt   %p0/m %z0.d -> %z0.h
+65c8a482 : fcvt z2.h, p1/M, z4.d                     : fcvt   %p1/m %z4.d -> %z2.h
+65c8a8c4 : fcvt z4.h, p2/M, z6.d                     : fcvt   %p2/m %z6.d -> %z4.h
+65c8a906 : fcvt z6.h, p2/M, z8.d                     : fcvt   %p2/m %z8.d -> %z6.h
+65c8ad48 : fcvt z8.h, p3/M, z10.d                    : fcvt   %p3/m %z10.d -> %z8.h
+65c8ad8a : fcvt z10.h, p3/M, z12.d                   : fcvt   %p3/m %z12.d -> %z10.h
+65c8b1cc : fcvt z12.h, p4/M, z14.d                   : fcvt   %p4/m %z14.d -> %z12.h
+65c8b20e : fcvt z14.h, p4/M, z16.d                   : fcvt   %p4/m %z16.d -> %z14.h
+65c8b650 : fcvt z16.h, p5/M, z18.d                   : fcvt   %p5/m %z18.d -> %z16.h
+65c8b671 : fcvt z17.h, p5/M, z19.d                   : fcvt   %p5/m %z19.d -> %z17.h
+65c8b6b3 : fcvt z19.h, p5/M, z21.d                   : fcvt   %p5/m %z21.d -> %z19.h
+65c8baf5 : fcvt z21.h, p6/M, z23.d                   : fcvt   %p6/m %z23.d -> %z21.h
+65c8bb37 : fcvt z23.h, p6/M, z25.d                   : fcvt   %p6/m %z25.d -> %z23.h
+65c8bf79 : fcvt z25.h, p7/M, z27.d                   : fcvt   %p7/m %z27.d -> %z25.h
+65c8bfbb : fcvt z27.h, p7/M, z29.d                   : fcvt   %p7/m %z29.d -> %z27.h
+65c8bfff : fcvt z31.h, p7/M, z31.d                   : fcvt   %p7/m %z31.d -> %z31.h
+
+# FCVT    <Zd>.S, <Pg>/M, <Zn>.D (FCVT-Z.P.Z-D2S)
+65caa000 : fcvt z0.s, p0/M, z0.d                     : fcvt   %p0/m %z0.d -> %z0.s
+65caa482 : fcvt z2.s, p1/M, z4.d                     : fcvt   %p1/m %z4.d -> %z2.s
+65caa8c4 : fcvt z4.s, p2/M, z6.d                     : fcvt   %p2/m %z6.d -> %z4.s
+65caa906 : fcvt z6.s, p2/M, z8.d                     : fcvt   %p2/m %z8.d -> %z6.s
+65caad48 : fcvt z8.s, p3/M, z10.d                    : fcvt   %p3/m %z10.d -> %z8.s
+65caad8a : fcvt z10.s, p3/M, z12.d                   : fcvt   %p3/m %z12.d -> %z10.s
+65cab1cc : fcvt z12.s, p4/M, z14.d                   : fcvt   %p4/m %z14.d -> %z12.s
+65cab20e : fcvt z14.s, p4/M, z16.d                   : fcvt   %p4/m %z16.d -> %z14.s
+65cab650 : fcvt z16.s, p5/M, z18.d                   : fcvt   %p5/m %z18.d -> %z16.s
+65cab671 : fcvt z17.s, p5/M, z19.d                   : fcvt   %p5/m %z19.d -> %z17.s
+65cab6b3 : fcvt z19.s, p5/M, z21.d                   : fcvt   %p5/m %z21.d -> %z19.s
+65cabaf5 : fcvt z21.s, p6/M, z23.d                   : fcvt   %p6/m %z23.d -> %z21.s
+65cabb37 : fcvt z23.s, p6/M, z25.d                   : fcvt   %p6/m %z25.d -> %z23.s
+65cabf79 : fcvt z25.s, p7/M, z27.d                   : fcvt   %p7/m %z27.d -> %z25.s
+65cabfbb : fcvt z27.s, p7/M, z29.d                   : fcvt   %p7/m %z29.d -> %z27.s
+65cabfff : fcvt z31.s, p7/M, z31.d                   : fcvt   %p7/m %z31.d -> %z31.s
+
+# FCVT    <Zd>.D, <Pg>/M, <Zn>.H (FCVT-Z.P.Z-H2D)
+65c9a000 : fcvt z0.d, p0/M, z0.h                     : fcvt   %p0/m %z0.h -> %z0.d
+65c9a482 : fcvt z2.d, p1/M, z4.h                     : fcvt   %p1/m %z4.h -> %z2.d
+65c9a8c4 : fcvt z4.d, p2/M, z6.h                     : fcvt   %p2/m %z6.h -> %z4.d
+65c9a906 : fcvt z6.d, p2/M, z8.h                     : fcvt   %p2/m %z8.h -> %z6.d
+65c9ad48 : fcvt z8.d, p3/M, z10.h                    : fcvt   %p3/m %z10.h -> %z8.d
+65c9ad8a : fcvt z10.d, p3/M, z12.h                   : fcvt   %p3/m %z12.h -> %z10.d
+65c9b1cc : fcvt z12.d, p4/M, z14.h                   : fcvt   %p4/m %z14.h -> %z12.d
+65c9b20e : fcvt z14.d, p4/M, z16.h                   : fcvt   %p4/m %z16.h -> %z14.d
+65c9b650 : fcvt z16.d, p5/M, z18.h                   : fcvt   %p5/m %z18.h -> %z16.d
+65c9b671 : fcvt z17.d, p5/M, z19.h                   : fcvt   %p5/m %z19.h -> %z17.d
+65c9b6b3 : fcvt z19.d, p5/M, z21.h                   : fcvt   %p5/m %z21.h -> %z19.d
+65c9baf5 : fcvt z21.d, p6/M, z23.h                   : fcvt   %p6/m %z23.h -> %z21.d
+65c9bb37 : fcvt z23.d, p6/M, z25.h                   : fcvt   %p6/m %z25.h -> %z23.d
+65c9bf79 : fcvt z25.d, p7/M, z27.h                   : fcvt   %p7/m %z27.h -> %z25.d
+65c9bfbb : fcvt z27.d, p7/M, z29.h                   : fcvt   %p7/m %z29.h -> %z27.d
+65c9bfff : fcvt z31.d, p7/M, z31.h                   : fcvt   %p7/m %z31.h -> %z31.d
+
+# FCVT    <Zd>.S, <Pg>/M, <Zn>.H (FCVT-Z.P.Z-H2S)
+6589a000 : fcvt z0.s, p0/M, z0.h                     : fcvt   %p0/m %z0.h -> %z0.s
+6589a482 : fcvt z2.s, p1/M, z4.h                     : fcvt   %p1/m %z4.h -> %z2.s
+6589a8c4 : fcvt z4.s, p2/M, z6.h                     : fcvt   %p2/m %z6.h -> %z4.s
+6589a906 : fcvt z6.s, p2/M, z8.h                     : fcvt   %p2/m %z8.h -> %z6.s
+6589ad48 : fcvt z8.s, p3/M, z10.h                    : fcvt   %p3/m %z10.h -> %z8.s
+6589ad8a : fcvt z10.s, p3/M, z12.h                   : fcvt   %p3/m %z12.h -> %z10.s
+6589b1cc : fcvt z12.s, p4/M, z14.h                   : fcvt   %p4/m %z14.h -> %z12.s
+6589b20e : fcvt z14.s, p4/M, z16.h                   : fcvt   %p4/m %z16.h -> %z14.s
+6589b650 : fcvt z16.s, p5/M, z18.h                   : fcvt   %p5/m %z18.h -> %z16.s
+6589b671 : fcvt z17.s, p5/M, z19.h                   : fcvt   %p5/m %z19.h -> %z17.s
+6589b6b3 : fcvt z19.s, p5/M, z21.h                   : fcvt   %p5/m %z21.h -> %z19.s
+6589baf5 : fcvt z21.s, p6/M, z23.h                   : fcvt   %p6/m %z23.h -> %z21.s
+6589bb37 : fcvt z23.s, p6/M, z25.h                   : fcvt   %p6/m %z25.h -> %z23.s
+6589bf79 : fcvt z25.s, p7/M, z27.h                   : fcvt   %p7/m %z27.h -> %z25.s
+6589bfbb : fcvt z27.s, p7/M, z29.h                   : fcvt   %p7/m %z29.h -> %z27.s
+6589bfff : fcvt z31.s, p7/M, z31.h                   : fcvt   %p7/m %z31.h -> %z31.s
+
+# FCVT    <Zd>.D, <Pg>/M, <Zn>.S (FCVT-Z.P.Z-S2D)
+65cba000 : fcvt z0.d, p0/M, z0.s                     : fcvt   %p0/m %z0.s -> %z0.d
+65cba482 : fcvt z2.d, p1/M, z4.s                     : fcvt   %p1/m %z4.s -> %z2.d
+65cba8c4 : fcvt z4.d, p2/M, z6.s                     : fcvt   %p2/m %z6.s -> %z4.d
+65cba906 : fcvt z6.d, p2/M, z8.s                     : fcvt   %p2/m %z8.s -> %z6.d
+65cbad48 : fcvt z8.d, p3/M, z10.s                    : fcvt   %p3/m %z10.s -> %z8.d
+65cbad8a : fcvt z10.d, p3/M, z12.s                   : fcvt   %p3/m %z12.s -> %z10.d
+65cbb1cc : fcvt z12.d, p4/M, z14.s                   : fcvt   %p4/m %z14.s -> %z12.d
+65cbb20e : fcvt z14.d, p4/M, z16.s                   : fcvt   %p4/m %z16.s -> %z14.d
+65cbb650 : fcvt z16.d, p5/M, z18.s                   : fcvt   %p5/m %z18.s -> %z16.d
+65cbb671 : fcvt z17.d, p5/M, z19.s                   : fcvt   %p5/m %z19.s -> %z17.d
+65cbb6b3 : fcvt z19.d, p5/M, z21.s                   : fcvt   %p5/m %z21.s -> %z19.d
+65cbbaf5 : fcvt z21.d, p6/M, z23.s                   : fcvt   %p6/m %z23.s -> %z21.d
+65cbbb37 : fcvt z23.d, p6/M, z25.s                   : fcvt   %p6/m %z25.s -> %z23.d
+65cbbf79 : fcvt z25.d, p7/M, z27.s                   : fcvt   %p7/m %z27.s -> %z25.d
+65cbbfbb : fcvt z27.d, p7/M, z29.s                   : fcvt   %p7/m %z29.s -> %z27.d
+65cbbfff : fcvt z31.d, p7/M, z31.s                   : fcvt   %p7/m %z31.s -> %z31.d
+
+# FCVT    <Zd>.H, <Pg>/M, <Zn>.S (FCVT-Z.P.Z-S2H)
+6588a000 : fcvt z0.h, p0/M, z0.s                     : fcvt   %p0/m %z0.s -> %z0.h
+6588a482 : fcvt z2.h, p1/M, z4.s                     : fcvt   %p1/m %z4.s -> %z2.h
+6588a8c4 : fcvt z4.h, p2/M, z6.s                     : fcvt   %p2/m %z6.s -> %z4.h
+6588a906 : fcvt z6.h, p2/M, z8.s                     : fcvt   %p2/m %z8.s -> %z6.h
+6588ad48 : fcvt z8.h, p3/M, z10.s                    : fcvt   %p3/m %z10.s -> %z8.h
+6588ad8a : fcvt z10.h, p3/M, z12.s                   : fcvt   %p3/m %z12.s -> %z10.h
+6588b1cc : fcvt z12.h, p4/M, z14.s                   : fcvt   %p4/m %z14.s -> %z12.h
+6588b20e : fcvt z14.h, p4/M, z16.s                   : fcvt   %p4/m %z16.s -> %z14.h
+6588b650 : fcvt z16.h, p5/M, z18.s                   : fcvt   %p5/m %z18.s -> %z16.h
+6588b671 : fcvt z17.h, p5/M, z19.s                   : fcvt   %p5/m %z19.s -> %z17.h
+6588b6b3 : fcvt z19.h, p5/M, z21.s                   : fcvt   %p5/m %z21.s -> %z19.h
+6588baf5 : fcvt z21.h, p6/M, z23.s                   : fcvt   %p6/m %z23.s -> %z21.h
+6588bb37 : fcvt z23.h, p6/M, z25.s                   : fcvt   %p6/m %z25.s -> %z23.h
+6588bf79 : fcvt z25.h, p7/M, z27.s                   : fcvt   %p7/m %z27.s -> %z25.h
+6588bfbb : fcvt z27.h, p7/M, z29.s                   : fcvt   %p7/m %z29.s -> %z27.h
+6588bfff : fcvt z31.h, p7/M, z31.s                   : fcvt   %p7/m %z31.s -> %z31.h
+
+# FCVTZS  <Zd>.S, <Pg>/M, <Zn>.D (FCVTZS-Z.P.Z-D2W)
+65d8a000 : fcvtzs z0.s, p0/M, z0.d                   : fcvtzs %p0/m %z0.d -> %z0.s
+65d8a482 : fcvtzs z2.s, p1/M, z4.d                   : fcvtzs %p1/m %z4.d -> %z2.s
+65d8a8c4 : fcvtzs z4.s, p2/M, z6.d                   : fcvtzs %p2/m %z6.d -> %z4.s
+65d8a906 : fcvtzs z6.s, p2/M, z8.d                   : fcvtzs %p2/m %z8.d -> %z6.s
+65d8ad48 : fcvtzs z8.s, p3/M, z10.d                  : fcvtzs %p3/m %z10.d -> %z8.s
+65d8ad8a : fcvtzs z10.s, p3/M, z12.d                 : fcvtzs %p3/m %z12.d -> %z10.s
+65d8b1cc : fcvtzs z12.s, p4/M, z14.d                 : fcvtzs %p4/m %z14.d -> %z12.s
+65d8b20e : fcvtzs z14.s, p4/M, z16.d                 : fcvtzs %p4/m %z16.d -> %z14.s
+65d8b650 : fcvtzs z16.s, p5/M, z18.d                 : fcvtzs %p5/m %z18.d -> %z16.s
+65d8b671 : fcvtzs z17.s, p5/M, z19.d                 : fcvtzs %p5/m %z19.d -> %z17.s
+65d8b6b3 : fcvtzs z19.s, p5/M, z21.d                 : fcvtzs %p5/m %z21.d -> %z19.s
+65d8baf5 : fcvtzs z21.s, p6/M, z23.d                 : fcvtzs %p6/m %z23.d -> %z21.s
+65d8bb37 : fcvtzs z23.s, p6/M, z25.d                 : fcvtzs %p6/m %z25.d -> %z23.s
+65d8bf79 : fcvtzs z25.s, p7/M, z27.d                 : fcvtzs %p7/m %z27.d -> %z25.s
+65d8bfbb : fcvtzs z27.s, p7/M, z29.d                 : fcvtzs %p7/m %z29.d -> %z27.s
+65d8bfff : fcvtzs z31.s, p7/M, z31.d                 : fcvtzs %p7/m %z31.d -> %z31.s
+
+# FCVTZS  <Zd>.D, <Pg>/M, <Zn>.D (FCVTZS-Z.P.Z-D2X)
+65dea000 : fcvtzs z0.d, p0/M, z0.d                   : fcvtzs %p0/m %z0.d -> %z0.d
+65dea482 : fcvtzs z2.d, p1/M, z4.d                   : fcvtzs %p1/m %z4.d -> %z2.d
+65dea8c4 : fcvtzs z4.d, p2/M, z6.d                   : fcvtzs %p2/m %z6.d -> %z4.d
+65dea906 : fcvtzs z6.d, p2/M, z8.d                   : fcvtzs %p2/m %z8.d -> %z6.d
+65dead48 : fcvtzs z8.d, p3/M, z10.d                  : fcvtzs %p3/m %z10.d -> %z8.d
+65dead8a : fcvtzs z10.d, p3/M, z12.d                 : fcvtzs %p3/m %z12.d -> %z10.d
+65deb1cc : fcvtzs z12.d, p4/M, z14.d                 : fcvtzs %p4/m %z14.d -> %z12.d
+65deb20e : fcvtzs z14.d, p4/M, z16.d                 : fcvtzs %p4/m %z16.d -> %z14.d
+65deb650 : fcvtzs z16.d, p5/M, z18.d                 : fcvtzs %p5/m %z18.d -> %z16.d
+65deb671 : fcvtzs z17.d, p5/M, z19.d                 : fcvtzs %p5/m %z19.d -> %z17.d
+65deb6b3 : fcvtzs z19.d, p5/M, z21.d                 : fcvtzs %p5/m %z21.d -> %z19.d
+65debaf5 : fcvtzs z21.d, p6/M, z23.d                 : fcvtzs %p6/m %z23.d -> %z21.d
+65debb37 : fcvtzs z23.d, p6/M, z25.d                 : fcvtzs %p6/m %z25.d -> %z23.d
+65debf79 : fcvtzs z25.d, p7/M, z27.d                 : fcvtzs %p7/m %z27.d -> %z25.d
+65debfbb : fcvtzs z27.d, p7/M, z29.d                 : fcvtzs %p7/m %z29.d -> %z27.d
+65debfff : fcvtzs z31.d, p7/M, z31.d                 : fcvtzs %p7/m %z31.d -> %z31.d
+
+# FCVTZS  <Zd>.H, <Pg>/M, <Zn>.H (FCVTZS-Z.P.Z-FP162H)
+655aa000 : fcvtzs z0.h, p0/M, z0.h                   : fcvtzs %p0/m %z0.h -> %z0.h
+655aa482 : fcvtzs z2.h, p1/M, z4.h                   : fcvtzs %p1/m %z4.h -> %z2.h
+655aa8c4 : fcvtzs z4.h, p2/M, z6.h                   : fcvtzs %p2/m %z6.h -> %z4.h
+655aa906 : fcvtzs z6.h, p2/M, z8.h                   : fcvtzs %p2/m %z8.h -> %z6.h
+655aad48 : fcvtzs z8.h, p3/M, z10.h                  : fcvtzs %p3/m %z10.h -> %z8.h
+655aad8a : fcvtzs z10.h, p3/M, z12.h                 : fcvtzs %p3/m %z12.h -> %z10.h
+655ab1cc : fcvtzs z12.h, p4/M, z14.h                 : fcvtzs %p4/m %z14.h -> %z12.h
+655ab20e : fcvtzs z14.h, p4/M, z16.h                 : fcvtzs %p4/m %z16.h -> %z14.h
+655ab650 : fcvtzs z16.h, p5/M, z18.h                 : fcvtzs %p5/m %z18.h -> %z16.h
+655ab671 : fcvtzs z17.h, p5/M, z19.h                 : fcvtzs %p5/m %z19.h -> %z17.h
+655ab6b3 : fcvtzs z19.h, p5/M, z21.h                 : fcvtzs %p5/m %z21.h -> %z19.h
+655abaf5 : fcvtzs z21.h, p6/M, z23.h                 : fcvtzs %p6/m %z23.h -> %z21.h
+655abb37 : fcvtzs z23.h, p6/M, z25.h                 : fcvtzs %p6/m %z25.h -> %z23.h
+655abf79 : fcvtzs z25.h, p7/M, z27.h                 : fcvtzs %p7/m %z27.h -> %z25.h
+655abfbb : fcvtzs z27.h, p7/M, z29.h                 : fcvtzs %p7/m %z29.h -> %z27.h
+655abfff : fcvtzs z31.h, p7/M, z31.h                 : fcvtzs %p7/m %z31.h -> %z31.h
+
+# FCVTZS  <Zd>.S, <Pg>/M, <Zn>.H (FCVTZS-Z.P.Z-FP162W)
+655ca000 : fcvtzs z0.s, p0/M, z0.h                   : fcvtzs %p0/m %z0.h -> %z0.s
+655ca482 : fcvtzs z2.s, p1/M, z4.h                   : fcvtzs %p1/m %z4.h -> %z2.s
+655ca8c4 : fcvtzs z4.s, p2/M, z6.h                   : fcvtzs %p2/m %z6.h -> %z4.s
+655ca906 : fcvtzs z6.s, p2/M, z8.h                   : fcvtzs %p2/m %z8.h -> %z6.s
+655cad48 : fcvtzs z8.s, p3/M, z10.h                  : fcvtzs %p3/m %z10.h -> %z8.s
+655cad8a : fcvtzs z10.s, p3/M, z12.h                 : fcvtzs %p3/m %z12.h -> %z10.s
+655cb1cc : fcvtzs z12.s, p4/M, z14.h                 : fcvtzs %p4/m %z14.h -> %z12.s
+655cb20e : fcvtzs z14.s, p4/M, z16.h                 : fcvtzs %p4/m %z16.h -> %z14.s
+655cb650 : fcvtzs z16.s, p5/M, z18.h                 : fcvtzs %p5/m %z18.h -> %z16.s
+655cb671 : fcvtzs z17.s, p5/M, z19.h                 : fcvtzs %p5/m %z19.h -> %z17.s
+655cb6b3 : fcvtzs z19.s, p5/M, z21.h                 : fcvtzs %p5/m %z21.h -> %z19.s
+655cbaf5 : fcvtzs z21.s, p6/M, z23.h                 : fcvtzs %p6/m %z23.h -> %z21.s
+655cbb37 : fcvtzs z23.s, p6/M, z25.h                 : fcvtzs %p6/m %z25.h -> %z23.s
+655cbf79 : fcvtzs z25.s, p7/M, z27.h                 : fcvtzs %p7/m %z27.h -> %z25.s
+655cbfbb : fcvtzs z27.s, p7/M, z29.h                 : fcvtzs %p7/m %z29.h -> %z27.s
+655cbfff : fcvtzs z31.s, p7/M, z31.h                 : fcvtzs %p7/m %z31.h -> %z31.s
+
+# FCVTZS  <Zd>.D, <Pg>/M, <Zn>.H (FCVTZS-Z.P.Z-FP162X)
+655ea000 : fcvtzs z0.d, p0/M, z0.h                   : fcvtzs %p0/m %z0.h -> %z0.d
+655ea482 : fcvtzs z2.d, p1/M, z4.h                   : fcvtzs %p1/m %z4.h -> %z2.d
+655ea8c4 : fcvtzs z4.d, p2/M, z6.h                   : fcvtzs %p2/m %z6.h -> %z4.d
+655ea906 : fcvtzs z6.d, p2/M, z8.h                   : fcvtzs %p2/m %z8.h -> %z6.d
+655ead48 : fcvtzs z8.d, p3/M, z10.h                  : fcvtzs %p3/m %z10.h -> %z8.d
+655ead8a : fcvtzs z10.d, p3/M, z12.h                 : fcvtzs %p3/m %z12.h -> %z10.d
+655eb1cc : fcvtzs z12.d, p4/M, z14.h                 : fcvtzs %p4/m %z14.h -> %z12.d
+655eb20e : fcvtzs z14.d, p4/M, z16.h                 : fcvtzs %p4/m %z16.h -> %z14.d
+655eb650 : fcvtzs z16.d, p5/M, z18.h                 : fcvtzs %p5/m %z18.h -> %z16.d
+655eb671 : fcvtzs z17.d, p5/M, z19.h                 : fcvtzs %p5/m %z19.h -> %z17.d
+655eb6b3 : fcvtzs z19.d, p5/M, z21.h                 : fcvtzs %p5/m %z21.h -> %z19.d
+655ebaf5 : fcvtzs z21.d, p6/M, z23.h                 : fcvtzs %p6/m %z23.h -> %z21.d
+655ebb37 : fcvtzs z23.d, p6/M, z25.h                 : fcvtzs %p6/m %z25.h -> %z23.d
+655ebf79 : fcvtzs z25.d, p7/M, z27.h                 : fcvtzs %p7/m %z27.h -> %z25.d
+655ebfbb : fcvtzs z27.d, p7/M, z29.h                 : fcvtzs %p7/m %z29.h -> %z27.d
+655ebfff : fcvtzs z31.d, p7/M, z31.h                 : fcvtzs %p7/m %z31.h -> %z31.d
+
+# FCVTZS  <Zd>.S, <Pg>/M, <Zn>.S (FCVTZS-Z.P.Z-S2W)
+659ca000 : fcvtzs z0.s, p0/M, z0.s                   : fcvtzs %p0/m %z0.s -> %z0.s
+659ca482 : fcvtzs z2.s, p1/M, z4.s                   : fcvtzs %p1/m %z4.s -> %z2.s
+659ca8c4 : fcvtzs z4.s, p2/M, z6.s                   : fcvtzs %p2/m %z6.s -> %z4.s
+659ca906 : fcvtzs z6.s, p2/M, z8.s                   : fcvtzs %p2/m %z8.s -> %z6.s
+659cad48 : fcvtzs z8.s, p3/M, z10.s                  : fcvtzs %p3/m %z10.s -> %z8.s
+659cad8a : fcvtzs z10.s, p3/M, z12.s                 : fcvtzs %p3/m %z12.s -> %z10.s
+659cb1cc : fcvtzs z12.s, p4/M, z14.s                 : fcvtzs %p4/m %z14.s -> %z12.s
+659cb20e : fcvtzs z14.s, p4/M, z16.s                 : fcvtzs %p4/m %z16.s -> %z14.s
+659cb650 : fcvtzs z16.s, p5/M, z18.s                 : fcvtzs %p5/m %z18.s -> %z16.s
+659cb671 : fcvtzs z17.s, p5/M, z19.s                 : fcvtzs %p5/m %z19.s -> %z17.s
+659cb6b3 : fcvtzs z19.s, p5/M, z21.s                 : fcvtzs %p5/m %z21.s -> %z19.s
+659cbaf5 : fcvtzs z21.s, p6/M, z23.s                 : fcvtzs %p6/m %z23.s -> %z21.s
+659cbb37 : fcvtzs z23.s, p6/M, z25.s                 : fcvtzs %p6/m %z25.s -> %z23.s
+659cbf79 : fcvtzs z25.s, p7/M, z27.s                 : fcvtzs %p7/m %z27.s -> %z25.s
+659cbfbb : fcvtzs z27.s, p7/M, z29.s                 : fcvtzs %p7/m %z29.s -> %z27.s
+659cbfff : fcvtzs z31.s, p7/M, z31.s                 : fcvtzs %p7/m %z31.s -> %z31.s
+
+# FCVTZS  <Zd>.D, <Pg>/M, <Zn>.S (FCVTZS-Z.P.Z-S2X)
+65dca000 : fcvtzs z0.d, p0/M, z0.s                   : fcvtzs %p0/m %z0.s -> %z0.d
+65dca482 : fcvtzs z2.d, p1/M, z4.s                   : fcvtzs %p1/m %z4.s -> %z2.d
+65dca8c4 : fcvtzs z4.d, p2/M, z6.s                   : fcvtzs %p2/m %z6.s -> %z4.d
+65dca906 : fcvtzs z6.d, p2/M, z8.s                   : fcvtzs %p2/m %z8.s -> %z6.d
+65dcad48 : fcvtzs z8.d, p3/M, z10.s                  : fcvtzs %p3/m %z10.s -> %z8.d
+65dcad8a : fcvtzs z10.d, p3/M, z12.s                 : fcvtzs %p3/m %z12.s -> %z10.d
+65dcb1cc : fcvtzs z12.d, p4/M, z14.s                 : fcvtzs %p4/m %z14.s -> %z12.d
+65dcb20e : fcvtzs z14.d, p4/M, z16.s                 : fcvtzs %p4/m %z16.s -> %z14.d
+65dcb650 : fcvtzs z16.d, p5/M, z18.s                 : fcvtzs %p5/m %z18.s -> %z16.d
+65dcb671 : fcvtzs z17.d, p5/M, z19.s                 : fcvtzs %p5/m %z19.s -> %z17.d
+65dcb6b3 : fcvtzs z19.d, p5/M, z21.s                 : fcvtzs %p5/m %z21.s -> %z19.d
+65dcbaf5 : fcvtzs z21.d, p6/M, z23.s                 : fcvtzs %p6/m %z23.s -> %z21.d
+65dcbb37 : fcvtzs z23.d, p6/M, z25.s                 : fcvtzs %p6/m %z25.s -> %z23.d
+65dcbf79 : fcvtzs z25.d, p7/M, z27.s                 : fcvtzs %p7/m %z27.s -> %z25.d
+65dcbfbb : fcvtzs z27.d, p7/M, z29.s                 : fcvtzs %p7/m %z29.s -> %z27.d
+65dcbfff : fcvtzs z31.d, p7/M, z31.s                 : fcvtzs %p7/m %z31.s -> %z31.d
+
+# FCVTZU  <Zd>.S, <Pg>/M, <Zn>.D (FCVTZU-Z.P.Z-D2W)
+65d9a000 : fcvtzu z0.s, p0/M, z0.d                   : fcvtzu %p0/m %z0.d -> %z0.s
+65d9a482 : fcvtzu z2.s, p1/M, z4.d                   : fcvtzu %p1/m %z4.d -> %z2.s
+65d9a8c4 : fcvtzu z4.s, p2/M, z6.d                   : fcvtzu %p2/m %z6.d -> %z4.s
+65d9a906 : fcvtzu z6.s, p2/M, z8.d                   : fcvtzu %p2/m %z8.d -> %z6.s
+65d9ad48 : fcvtzu z8.s, p3/M, z10.d                  : fcvtzu %p3/m %z10.d -> %z8.s
+65d9ad8a : fcvtzu z10.s, p3/M, z12.d                 : fcvtzu %p3/m %z12.d -> %z10.s
+65d9b1cc : fcvtzu z12.s, p4/M, z14.d                 : fcvtzu %p4/m %z14.d -> %z12.s
+65d9b20e : fcvtzu z14.s, p4/M, z16.d                 : fcvtzu %p4/m %z16.d -> %z14.s
+65d9b650 : fcvtzu z16.s, p5/M, z18.d                 : fcvtzu %p5/m %z18.d -> %z16.s
+65d9b671 : fcvtzu z17.s, p5/M, z19.d                 : fcvtzu %p5/m %z19.d -> %z17.s
+65d9b6b3 : fcvtzu z19.s, p5/M, z21.d                 : fcvtzu %p5/m %z21.d -> %z19.s
+65d9baf5 : fcvtzu z21.s, p6/M, z23.d                 : fcvtzu %p6/m %z23.d -> %z21.s
+65d9bb37 : fcvtzu z23.s, p6/M, z25.d                 : fcvtzu %p6/m %z25.d -> %z23.s
+65d9bf79 : fcvtzu z25.s, p7/M, z27.d                 : fcvtzu %p7/m %z27.d -> %z25.s
+65d9bfbb : fcvtzu z27.s, p7/M, z29.d                 : fcvtzu %p7/m %z29.d -> %z27.s
+65d9bfff : fcvtzu z31.s, p7/M, z31.d                 : fcvtzu %p7/m %z31.d -> %z31.s
+
+# FCVTZU  <Zd>.D, <Pg>/M, <Zn>.D (FCVTZU-Z.P.Z-D2X)
+65dfa000 : fcvtzu z0.d, p0/M, z0.d                   : fcvtzu %p0/m %z0.d -> %z0.d
+65dfa482 : fcvtzu z2.d, p1/M, z4.d                   : fcvtzu %p1/m %z4.d -> %z2.d
+65dfa8c4 : fcvtzu z4.d, p2/M, z6.d                   : fcvtzu %p2/m %z6.d -> %z4.d
+65dfa906 : fcvtzu z6.d, p2/M, z8.d                   : fcvtzu %p2/m %z8.d -> %z6.d
+65dfad48 : fcvtzu z8.d, p3/M, z10.d                  : fcvtzu %p3/m %z10.d -> %z8.d
+65dfad8a : fcvtzu z10.d, p3/M, z12.d                 : fcvtzu %p3/m %z12.d -> %z10.d
+65dfb1cc : fcvtzu z12.d, p4/M, z14.d                 : fcvtzu %p4/m %z14.d -> %z12.d
+65dfb20e : fcvtzu z14.d, p4/M, z16.d                 : fcvtzu %p4/m %z16.d -> %z14.d
+65dfb650 : fcvtzu z16.d, p5/M, z18.d                 : fcvtzu %p5/m %z18.d -> %z16.d
+65dfb671 : fcvtzu z17.d, p5/M, z19.d                 : fcvtzu %p5/m %z19.d -> %z17.d
+65dfb6b3 : fcvtzu z19.d, p5/M, z21.d                 : fcvtzu %p5/m %z21.d -> %z19.d
+65dfbaf5 : fcvtzu z21.d, p6/M, z23.d                 : fcvtzu %p6/m %z23.d -> %z21.d
+65dfbb37 : fcvtzu z23.d, p6/M, z25.d                 : fcvtzu %p6/m %z25.d -> %z23.d
+65dfbf79 : fcvtzu z25.d, p7/M, z27.d                 : fcvtzu %p7/m %z27.d -> %z25.d
+65dfbfbb : fcvtzu z27.d, p7/M, z29.d                 : fcvtzu %p7/m %z29.d -> %z27.d
+65dfbfff : fcvtzu z31.d, p7/M, z31.d                 : fcvtzu %p7/m %z31.d -> %z31.d
+
+# FCVTZU  <Zd>.H, <Pg>/M, <Zn>.H (FCVTZU-Z.P.Z-FP162H)
+655ba000 : fcvtzu z0.h, p0/M, z0.h                   : fcvtzu %p0/m %z0.h -> %z0.h
+655ba482 : fcvtzu z2.h, p1/M, z4.h                   : fcvtzu %p1/m %z4.h -> %z2.h
+655ba8c4 : fcvtzu z4.h, p2/M, z6.h                   : fcvtzu %p2/m %z6.h -> %z4.h
+655ba906 : fcvtzu z6.h, p2/M, z8.h                   : fcvtzu %p2/m %z8.h -> %z6.h
+655bad48 : fcvtzu z8.h, p3/M, z10.h                  : fcvtzu %p3/m %z10.h -> %z8.h
+655bad8a : fcvtzu z10.h, p3/M, z12.h                 : fcvtzu %p3/m %z12.h -> %z10.h
+655bb1cc : fcvtzu z12.h, p4/M, z14.h                 : fcvtzu %p4/m %z14.h -> %z12.h
+655bb20e : fcvtzu z14.h, p4/M, z16.h                 : fcvtzu %p4/m %z16.h -> %z14.h
+655bb650 : fcvtzu z16.h, p5/M, z18.h                 : fcvtzu %p5/m %z18.h -> %z16.h
+655bb671 : fcvtzu z17.h, p5/M, z19.h                 : fcvtzu %p5/m %z19.h -> %z17.h
+655bb6b3 : fcvtzu z19.h, p5/M, z21.h                 : fcvtzu %p5/m %z21.h -> %z19.h
+655bbaf5 : fcvtzu z21.h, p6/M, z23.h                 : fcvtzu %p6/m %z23.h -> %z21.h
+655bbb37 : fcvtzu z23.h, p6/M, z25.h                 : fcvtzu %p6/m %z25.h -> %z23.h
+655bbf79 : fcvtzu z25.h, p7/M, z27.h                 : fcvtzu %p7/m %z27.h -> %z25.h
+655bbfbb : fcvtzu z27.h, p7/M, z29.h                 : fcvtzu %p7/m %z29.h -> %z27.h
+655bbfff : fcvtzu z31.h, p7/M, z31.h                 : fcvtzu %p7/m %z31.h -> %z31.h
+
+# FCVTZU  <Zd>.S, <Pg>/M, <Zn>.H (FCVTZU-Z.P.Z-FP162W)
+655da000 : fcvtzu z0.s, p0/M, z0.h                   : fcvtzu %p0/m %z0.h -> %z0.s
+655da482 : fcvtzu z2.s, p1/M, z4.h                   : fcvtzu %p1/m %z4.h -> %z2.s
+655da8c4 : fcvtzu z4.s, p2/M, z6.h                   : fcvtzu %p2/m %z6.h -> %z4.s
+655da906 : fcvtzu z6.s, p2/M, z8.h                   : fcvtzu %p2/m %z8.h -> %z6.s
+655dad48 : fcvtzu z8.s, p3/M, z10.h                  : fcvtzu %p3/m %z10.h -> %z8.s
+655dad8a : fcvtzu z10.s, p3/M, z12.h                 : fcvtzu %p3/m %z12.h -> %z10.s
+655db1cc : fcvtzu z12.s, p4/M, z14.h                 : fcvtzu %p4/m %z14.h -> %z12.s
+655db20e : fcvtzu z14.s, p4/M, z16.h                 : fcvtzu %p4/m %z16.h -> %z14.s
+655db650 : fcvtzu z16.s, p5/M, z18.h                 : fcvtzu %p5/m %z18.h -> %z16.s
+655db671 : fcvtzu z17.s, p5/M, z19.h                 : fcvtzu %p5/m %z19.h -> %z17.s
+655db6b3 : fcvtzu z19.s, p5/M, z21.h                 : fcvtzu %p5/m %z21.h -> %z19.s
+655dbaf5 : fcvtzu z21.s, p6/M, z23.h                 : fcvtzu %p6/m %z23.h -> %z21.s
+655dbb37 : fcvtzu z23.s, p6/M, z25.h                 : fcvtzu %p6/m %z25.h -> %z23.s
+655dbf79 : fcvtzu z25.s, p7/M, z27.h                 : fcvtzu %p7/m %z27.h -> %z25.s
+655dbfbb : fcvtzu z27.s, p7/M, z29.h                 : fcvtzu %p7/m %z29.h -> %z27.s
+655dbfff : fcvtzu z31.s, p7/M, z31.h                 : fcvtzu %p7/m %z31.h -> %z31.s
+
+# FCVTZU  <Zd>.D, <Pg>/M, <Zn>.H (FCVTZU-Z.P.Z-FP162X)
+655fa000 : fcvtzu z0.d, p0/M, z0.h                   : fcvtzu %p0/m %z0.h -> %z0.d
+655fa482 : fcvtzu z2.d, p1/M, z4.h                   : fcvtzu %p1/m %z4.h -> %z2.d
+655fa8c4 : fcvtzu z4.d, p2/M, z6.h                   : fcvtzu %p2/m %z6.h -> %z4.d
+655fa906 : fcvtzu z6.d, p2/M, z8.h                   : fcvtzu %p2/m %z8.h -> %z6.d
+655fad48 : fcvtzu z8.d, p3/M, z10.h                  : fcvtzu %p3/m %z10.h -> %z8.d
+655fad8a : fcvtzu z10.d, p3/M, z12.h                 : fcvtzu %p3/m %z12.h -> %z10.d
+655fb1cc : fcvtzu z12.d, p4/M, z14.h                 : fcvtzu %p4/m %z14.h -> %z12.d
+655fb20e : fcvtzu z14.d, p4/M, z16.h                 : fcvtzu %p4/m %z16.h -> %z14.d
+655fb650 : fcvtzu z16.d, p5/M, z18.h                 : fcvtzu %p5/m %z18.h -> %z16.d
+655fb671 : fcvtzu z17.d, p5/M, z19.h                 : fcvtzu %p5/m %z19.h -> %z17.d
+655fb6b3 : fcvtzu z19.d, p5/M, z21.h                 : fcvtzu %p5/m %z21.h -> %z19.d
+655fbaf5 : fcvtzu z21.d, p6/M, z23.h                 : fcvtzu %p6/m %z23.h -> %z21.d
+655fbb37 : fcvtzu z23.d, p6/M, z25.h                 : fcvtzu %p6/m %z25.h -> %z23.d
+655fbf79 : fcvtzu z25.d, p7/M, z27.h                 : fcvtzu %p7/m %z27.h -> %z25.d
+655fbfbb : fcvtzu z27.d, p7/M, z29.h                 : fcvtzu %p7/m %z29.h -> %z27.d
+655fbfff : fcvtzu z31.d, p7/M, z31.h                 : fcvtzu %p7/m %z31.h -> %z31.d
+
+# FCVTZU  <Zd>.S, <Pg>/M, <Zn>.S (FCVTZU-Z.P.Z-S2W)
+659da000 : fcvtzu z0.s, p0/M, z0.s                   : fcvtzu %p0/m %z0.s -> %z0.s
+659da482 : fcvtzu z2.s, p1/M, z4.s                   : fcvtzu %p1/m %z4.s -> %z2.s
+659da8c4 : fcvtzu z4.s, p2/M, z6.s                   : fcvtzu %p2/m %z6.s -> %z4.s
+659da906 : fcvtzu z6.s, p2/M, z8.s                   : fcvtzu %p2/m %z8.s -> %z6.s
+659dad48 : fcvtzu z8.s, p3/M, z10.s                  : fcvtzu %p3/m %z10.s -> %z8.s
+659dad8a : fcvtzu z10.s, p3/M, z12.s                 : fcvtzu %p3/m %z12.s -> %z10.s
+659db1cc : fcvtzu z12.s, p4/M, z14.s                 : fcvtzu %p4/m %z14.s -> %z12.s
+659db20e : fcvtzu z14.s, p4/M, z16.s                 : fcvtzu %p4/m %z16.s -> %z14.s
+659db650 : fcvtzu z16.s, p5/M, z18.s                 : fcvtzu %p5/m %z18.s -> %z16.s
+659db671 : fcvtzu z17.s, p5/M, z19.s                 : fcvtzu %p5/m %z19.s -> %z17.s
+659db6b3 : fcvtzu z19.s, p5/M, z21.s                 : fcvtzu %p5/m %z21.s -> %z19.s
+659dbaf5 : fcvtzu z21.s, p6/M, z23.s                 : fcvtzu %p6/m %z23.s -> %z21.s
+659dbb37 : fcvtzu z23.s, p6/M, z25.s                 : fcvtzu %p6/m %z25.s -> %z23.s
+659dbf79 : fcvtzu z25.s, p7/M, z27.s                 : fcvtzu %p7/m %z27.s -> %z25.s
+659dbfbb : fcvtzu z27.s, p7/M, z29.s                 : fcvtzu %p7/m %z29.s -> %z27.s
+659dbfff : fcvtzu z31.s, p7/M, z31.s                 : fcvtzu %p7/m %z31.s -> %z31.s
+
+# FCVTZU  <Zd>.D, <Pg>/M, <Zn>.S (FCVTZU-Z.P.Z-S2X)
+65dda000 : fcvtzu z0.d, p0/M, z0.s                   : fcvtzu %p0/m %z0.s -> %z0.d
+65dda482 : fcvtzu z2.d, p1/M, z4.s                   : fcvtzu %p1/m %z4.s -> %z2.d
+65dda8c4 : fcvtzu z4.d, p2/M, z6.s                   : fcvtzu %p2/m %z6.s -> %z4.d
+65dda906 : fcvtzu z6.d, p2/M, z8.s                   : fcvtzu %p2/m %z8.s -> %z6.d
+65ddad48 : fcvtzu z8.d, p3/M, z10.s                  : fcvtzu %p3/m %z10.s -> %z8.d
+65ddad8a : fcvtzu z10.d, p3/M, z12.s                 : fcvtzu %p3/m %z12.s -> %z10.d
+65ddb1cc : fcvtzu z12.d, p4/M, z14.s                 : fcvtzu %p4/m %z14.s -> %z12.d
+65ddb20e : fcvtzu z14.d, p4/M, z16.s                 : fcvtzu %p4/m %z16.s -> %z14.d
+65ddb650 : fcvtzu z16.d, p5/M, z18.s                 : fcvtzu %p5/m %z18.s -> %z16.d
+65ddb671 : fcvtzu z17.d, p5/M, z19.s                 : fcvtzu %p5/m %z19.s -> %z17.d
+65ddb6b3 : fcvtzu z19.d, p5/M, z21.s                 : fcvtzu %p5/m %z21.s -> %z19.d
+65ddbaf5 : fcvtzu z21.d, p6/M, z23.s                 : fcvtzu %p6/m %z23.s -> %z21.d
+65ddbb37 : fcvtzu z23.d, p6/M, z25.s                 : fcvtzu %p6/m %z25.s -> %z23.d
+65ddbf79 : fcvtzu z25.d, p7/M, z27.s                 : fcvtzu %p7/m %z27.s -> %z25.d
+65ddbfbb : fcvtzu z27.d, p7/M, z29.s                 : fcvtzu %p7/m %z29.s -> %z27.d
+65ddbfff : fcvtzu z31.d, p7/M, z31.s                 : fcvtzu %p7/m %z31.s -> %z31.d
+
 # FDUP    <Zd>.<T>, #<const> (FDUP-Z.I-_)
 2579d000 : fdup z0.h, #-2.0                          : fdup   $-2.000000 -> %z0.h
 2579d042 : fdup z2.h, #-2.25                         : fdup   $-2.250000 -> %z2.h
@@ -5918,6 +6278,356 @@
 65c73fbb : fminv d27, p7, z29.d                      : fminv  %p7 %z29.d -> %d27
 65c73fff : fminv d31, p7, z31.d                      : fminv  %p7 %z31.d -> %d31
 
+# FRINTA  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTA-Z.P.Z-_)
+6544a000 : frinta z0.h, p0/M, z0.h                   : frinta %p0/m %z0.h -> %z0.h
+6544a482 : frinta z2.h, p1/M, z4.h                   : frinta %p1/m %z4.h -> %z2.h
+6544a8c4 : frinta z4.h, p2/M, z6.h                   : frinta %p2/m %z6.h -> %z4.h
+6544a906 : frinta z6.h, p2/M, z8.h                   : frinta %p2/m %z8.h -> %z6.h
+6544ad48 : frinta z8.h, p3/M, z10.h                  : frinta %p3/m %z10.h -> %z8.h
+6544ad8a : frinta z10.h, p3/M, z12.h                 : frinta %p3/m %z12.h -> %z10.h
+6544b1cc : frinta z12.h, p4/M, z14.h                 : frinta %p4/m %z14.h -> %z12.h
+6544b20e : frinta z14.h, p4/M, z16.h                 : frinta %p4/m %z16.h -> %z14.h
+6544b650 : frinta z16.h, p5/M, z18.h                 : frinta %p5/m %z18.h -> %z16.h
+6544b671 : frinta z17.h, p5/M, z19.h                 : frinta %p5/m %z19.h -> %z17.h
+6544b6b3 : frinta z19.h, p5/M, z21.h                 : frinta %p5/m %z21.h -> %z19.h
+6544baf5 : frinta z21.h, p6/M, z23.h                 : frinta %p6/m %z23.h -> %z21.h
+6544bb37 : frinta z23.h, p6/M, z25.h                 : frinta %p6/m %z25.h -> %z23.h
+6544bf79 : frinta z25.h, p7/M, z27.h                 : frinta %p7/m %z27.h -> %z25.h
+6544bfbb : frinta z27.h, p7/M, z29.h                 : frinta %p7/m %z29.h -> %z27.h
+6544bfff : frinta z31.h, p7/M, z31.h                 : frinta %p7/m %z31.h -> %z31.h
+6584a000 : frinta z0.s, p0/M, z0.s                   : frinta %p0/m %z0.s -> %z0.s
+6584a482 : frinta z2.s, p1/M, z4.s                   : frinta %p1/m %z4.s -> %z2.s
+6584a8c4 : frinta z4.s, p2/M, z6.s                   : frinta %p2/m %z6.s -> %z4.s
+6584a906 : frinta z6.s, p2/M, z8.s                   : frinta %p2/m %z8.s -> %z6.s
+6584ad48 : frinta z8.s, p3/M, z10.s                  : frinta %p3/m %z10.s -> %z8.s
+6584ad8a : frinta z10.s, p3/M, z12.s                 : frinta %p3/m %z12.s -> %z10.s
+6584b1cc : frinta z12.s, p4/M, z14.s                 : frinta %p4/m %z14.s -> %z12.s
+6584b20e : frinta z14.s, p4/M, z16.s                 : frinta %p4/m %z16.s -> %z14.s
+6584b650 : frinta z16.s, p5/M, z18.s                 : frinta %p5/m %z18.s -> %z16.s
+6584b671 : frinta z17.s, p5/M, z19.s                 : frinta %p5/m %z19.s -> %z17.s
+6584b6b3 : frinta z19.s, p5/M, z21.s                 : frinta %p5/m %z21.s -> %z19.s
+6584baf5 : frinta z21.s, p6/M, z23.s                 : frinta %p6/m %z23.s -> %z21.s
+6584bb37 : frinta z23.s, p6/M, z25.s                 : frinta %p6/m %z25.s -> %z23.s
+6584bf79 : frinta z25.s, p7/M, z27.s                 : frinta %p7/m %z27.s -> %z25.s
+6584bfbb : frinta z27.s, p7/M, z29.s                 : frinta %p7/m %z29.s -> %z27.s
+6584bfff : frinta z31.s, p7/M, z31.s                 : frinta %p7/m %z31.s -> %z31.s
+65c4a000 : frinta z0.d, p0/M, z0.d                   : frinta %p0/m %z0.d -> %z0.d
+65c4a482 : frinta z2.d, p1/M, z4.d                   : frinta %p1/m %z4.d -> %z2.d
+65c4a8c4 : frinta z4.d, p2/M, z6.d                   : frinta %p2/m %z6.d -> %z4.d
+65c4a906 : frinta z6.d, p2/M, z8.d                   : frinta %p2/m %z8.d -> %z6.d
+65c4ad48 : frinta z8.d, p3/M, z10.d                  : frinta %p3/m %z10.d -> %z8.d
+65c4ad8a : frinta z10.d, p3/M, z12.d                 : frinta %p3/m %z12.d -> %z10.d
+65c4b1cc : frinta z12.d, p4/M, z14.d                 : frinta %p4/m %z14.d -> %z12.d
+65c4b20e : frinta z14.d, p4/M, z16.d                 : frinta %p4/m %z16.d -> %z14.d
+65c4b650 : frinta z16.d, p5/M, z18.d                 : frinta %p5/m %z18.d -> %z16.d
+65c4b671 : frinta z17.d, p5/M, z19.d                 : frinta %p5/m %z19.d -> %z17.d
+65c4b6b3 : frinta z19.d, p5/M, z21.d                 : frinta %p5/m %z21.d -> %z19.d
+65c4baf5 : frinta z21.d, p6/M, z23.d                 : frinta %p6/m %z23.d -> %z21.d
+65c4bb37 : frinta z23.d, p6/M, z25.d                 : frinta %p6/m %z25.d -> %z23.d
+65c4bf79 : frinta z25.d, p7/M, z27.d                 : frinta %p7/m %z27.d -> %z25.d
+65c4bfbb : frinta z27.d, p7/M, z29.d                 : frinta %p7/m %z29.d -> %z27.d
+65c4bfff : frinta z31.d, p7/M, z31.d                 : frinta %p7/m %z31.d -> %z31.d
+
+# FRINTI  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTI-Z.P.Z-_)
+6547a000 : frinti z0.h, p0/M, z0.h                   : frinti %p0/m %z0.h -> %z0.h
+6547a482 : frinti z2.h, p1/M, z4.h                   : frinti %p1/m %z4.h -> %z2.h
+6547a8c4 : frinti z4.h, p2/M, z6.h                   : frinti %p2/m %z6.h -> %z4.h
+6547a906 : frinti z6.h, p2/M, z8.h                   : frinti %p2/m %z8.h -> %z6.h
+6547ad48 : frinti z8.h, p3/M, z10.h                  : frinti %p3/m %z10.h -> %z8.h
+6547ad8a : frinti z10.h, p3/M, z12.h                 : frinti %p3/m %z12.h -> %z10.h
+6547b1cc : frinti z12.h, p4/M, z14.h                 : frinti %p4/m %z14.h -> %z12.h
+6547b20e : frinti z14.h, p4/M, z16.h                 : frinti %p4/m %z16.h -> %z14.h
+6547b650 : frinti z16.h, p5/M, z18.h                 : frinti %p5/m %z18.h -> %z16.h
+6547b671 : frinti z17.h, p5/M, z19.h                 : frinti %p5/m %z19.h -> %z17.h
+6547b6b3 : frinti z19.h, p5/M, z21.h                 : frinti %p5/m %z21.h -> %z19.h
+6547baf5 : frinti z21.h, p6/M, z23.h                 : frinti %p6/m %z23.h -> %z21.h
+6547bb37 : frinti z23.h, p6/M, z25.h                 : frinti %p6/m %z25.h -> %z23.h
+6547bf79 : frinti z25.h, p7/M, z27.h                 : frinti %p7/m %z27.h -> %z25.h
+6547bfbb : frinti z27.h, p7/M, z29.h                 : frinti %p7/m %z29.h -> %z27.h
+6547bfff : frinti z31.h, p7/M, z31.h                 : frinti %p7/m %z31.h -> %z31.h
+6587a000 : frinti z0.s, p0/M, z0.s                   : frinti %p0/m %z0.s -> %z0.s
+6587a482 : frinti z2.s, p1/M, z4.s                   : frinti %p1/m %z4.s -> %z2.s
+6587a8c4 : frinti z4.s, p2/M, z6.s                   : frinti %p2/m %z6.s -> %z4.s
+6587a906 : frinti z6.s, p2/M, z8.s                   : frinti %p2/m %z8.s -> %z6.s
+6587ad48 : frinti z8.s, p3/M, z10.s                  : frinti %p3/m %z10.s -> %z8.s
+6587ad8a : frinti z10.s, p3/M, z12.s                 : frinti %p3/m %z12.s -> %z10.s
+6587b1cc : frinti z12.s, p4/M, z14.s                 : frinti %p4/m %z14.s -> %z12.s
+6587b20e : frinti z14.s, p4/M, z16.s                 : frinti %p4/m %z16.s -> %z14.s
+6587b650 : frinti z16.s, p5/M, z18.s                 : frinti %p5/m %z18.s -> %z16.s
+6587b671 : frinti z17.s, p5/M, z19.s                 : frinti %p5/m %z19.s -> %z17.s
+6587b6b3 : frinti z19.s, p5/M, z21.s                 : frinti %p5/m %z21.s -> %z19.s
+6587baf5 : frinti z21.s, p6/M, z23.s                 : frinti %p6/m %z23.s -> %z21.s
+6587bb37 : frinti z23.s, p6/M, z25.s                 : frinti %p6/m %z25.s -> %z23.s
+6587bf79 : frinti z25.s, p7/M, z27.s                 : frinti %p7/m %z27.s -> %z25.s
+6587bfbb : frinti z27.s, p7/M, z29.s                 : frinti %p7/m %z29.s -> %z27.s
+6587bfff : frinti z31.s, p7/M, z31.s                 : frinti %p7/m %z31.s -> %z31.s
+65c7a000 : frinti z0.d, p0/M, z0.d                   : frinti %p0/m %z0.d -> %z0.d
+65c7a482 : frinti z2.d, p1/M, z4.d                   : frinti %p1/m %z4.d -> %z2.d
+65c7a8c4 : frinti z4.d, p2/M, z6.d                   : frinti %p2/m %z6.d -> %z4.d
+65c7a906 : frinti z6.d, p2/M, z8.d                   : frinti %p2/m %z8.d -> %z6.d
+65c7ad48 : frinti z8.d, p3/M, z10.d                  : frinti %p3/m %z10.d -> %z8.d
+65c7ad8a : frinti z10.d, p3/M, z12.d                 : frinti %p3/m %z12.d -> %z10.d
+65c7b1cc : frinti z12.d, p4/M, z14.d                 : frinti %p4/m %z14.d -> %z12.d
+65c7b20e : frinti z14.d, p4/M, z16.d                 : frinti %p4/m %z16.d -> %z14.d
+65c7b650 : frinti z16.d, p5/M, z18.d                 : frinti %p5/m %z18.d -> %z16.d
+65c7b671 : frinti z17.d, p5/M, z19.d                 : frinti %p5/m %z19.d -> %z17.d
+65c7b6b3 : frinti z19.d, p5/M, z21.d                 : frinti %p5/m %z21.d -> %z19.d
+65c7baf5 : frinti z21.d, p6/M, z23.d                 : frinti %p6/m %z23.d -> %z21.d
+65c7bb37 : frinti z23.d, p6/M, z25.d                 : frinti %p6/m %z25.d -> %z23.d
+65c7bf79 : frinti z25.d, p7/M, z27.d                 : frinti %p7/m %z27.d -> %z25.d
+65c7bfbb : frinti z27.d, p7/M, z29.d                 : frinti %p7/m %z29.d -> %z27.d
+65c7bfff : frinti z31.d, p7/M, z31.d                 : frinti %p7/m %z31.d -> %z31.d
+
+# FRINTM  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTM-Z.P.Z-_)
+6542a000 : frintm z0.h, p0/M, z0.h                   : frintm %p0/m %z0.h -> %z0.h
+6542a482 : frintm z2.h, p1/M, z4.h                   : frintm %p1/m %z4.h -> %z2.h
+6542a8c4 : frintm z4.h, p2/M, z6.h                   : frintm %p2/m %z6.h -> %z4.h
+6542a906 : frintm z6.h, p2/M, z8.h                   : frintm %p2/m %z8.h -> %z6.h
+6542ad48 : frintm z8.h, p3/M, z10.h                  : frintm %p3/m %z10.h -> %z8.h
+6542ad8a : frintm z10.h, p3/M, z12.h                 : frintm %p3/m %z12.h -> %z10.h
+6542b1cc : frintm z12.h, p4/M, z14.h                 : frintm %p4/m %z14.h -> %z12.h
+6542b20e : frintm z14.h, p4/M, z16.h                 : frintm %p4/m %z16.h -> %z14.h
+6542b650 : frintm z16.h, p5/M, z18.h                 : frintm %p5/m %z18.h -> %z16.h
+6542b671 : frintm z17.h, p5/M, z19.h                 : frintm %p5/m %z19.h -> %z17.h
+6542b6b3 : frintm z19.h, p5/M, z21.h                 : frintm %p5/m %z21.h -> %z19.h
+6542baf5 : frintm z21.h, p6/M, z23.h                 : frintm %p6/m %z23.h -> %z21.h
+6542bb37 : frintm z23.h, p6/M, z25.h                 : frintm %p6/m %z25.h -> %z23.h
+6542bf79 : frintm z25.h, p7/M, z27.h                 : frintm %p7/m %z27.h -> %z25.h
+6542bfbb : frintm z27.h, p7/M, z29.h                 : frintm %p7/m %z29.h -> %z27.h
+6542bfff : frintm z31.h, p7/M, z31.h                 : frintm %p7/m %z31.h -> %z31.h
+6582a000 : frintm z0.s, p0/M, z0.s                   : frintm %p0/m %z0.s -> %z0.s
+6582a482 : frintm z2.s, p1/M, z4.s                   : frintm %p1/m %z4.s -> %z2.s
+6582a8c4 : frintm z4.s, p2/M, z6.s                   : frintm %p2/m %z6.s -> %z4.s
+6582a906 : frintm z6.s, p2/M, z8.s                   : frintm %p2/m %z8.s -> %z6.s
+6582ad48 : frintm z8.s, p3/M, z10.s                  : frintm %p3/m %z10.s -> %z8.s
+6582ad8a : frintm z10.s, p3/M, z12.s                 : frintm %p3/m %z12.s -> %z10.s
+6582b1cc : frintm z12.s, p4/M, z14.s                 : frintm %p4/m %z14.s -> %z12.s
+6582b20e : frintm z14.s, p4/M, z16.s                 : frintm %p4/m %z16.s -> %z14.s
+6582b650 : frintm z16.s, p5/M, z18.s                 : frintm %p5/m %z18.s -> %z16.s
+6582b671 : frintm z17.s, p5/M, z19.s                 : frintm %p5/m %z19.s -> %z17.s
+6582b6b3 : frintm z19.s, p5/M, z21.s                 : frintm %p5/m %z21.s -> %z19.s
+6582baf5 : frintm z21.s, p6/M, z23.s                 : frintm %p6/m %z23.s -> %z21.s
+6582bb37 : frintm z23.s, p6/M, z25.s                 : frintm %p6/m %z25.s -> %z23.s
+6582bf79 : frintm z25.s, p7/M, z27.s                 : frintm %p7/m %z27.s -> %z25.s
+6582bfbb : frintm z27.s, p7/M, z29.s                 : frintm %p7/m %z29.s -> %z27.s
+6582bfff : frintm z31.s, p7/M, z31.s                 : frintm %p7/m %z31.s -> %z31.s
+65c2a000 : frintm z0.d, p0/M, z0.d                   : frintm %p0/m %z0.d -> %z0.d
+65c2a482 : frintm z2.d, p1/M, z4.d                   : frintm %p1/m %z4.d -> %z2.d
+65c2a8c4 : frintm z4.d, p2/M, z6.d                   : frintm %p2/m %z6.d -> %z4.d
+65c2a906 : frintm z6.d, p2/M, z8.d                   : frintm %p2/m %z8.d -> %z6.d
+65c2ad48 : frintm z8.d, p3/M, z10.d                  : frintm %p3/m %z10.d -> %z8.d
+65c2ad8a : frintm z10.d, p3/M, z12.d                 : frintm %p3/m %z12.d -> %z10.d
+65c2b1cc : frintm z12.d, p4/M, z14.d                 : frintm %p4/m %z14.d -> %z12.d
+65c2b20e : frintm z14.d, p4/M, z16.d                 : frintm %p4/m %z16.d -> %z14.d
+65c2b650 : frintm z16.d, p5/M, z18.d                 : frintm %p5/m %z18.d -> %z16.d
+65c2b671 : frintm z17.d, p5/M, z19.d                 : frintm %p5/m %z19.d -> %z17.d
+65c2b6b3 : frintm z19.d, p5/M, z21.d                 : frintm %p5/m %z21.d -> %z19.d
+65c2baf5 : frintm z21.d, p6/M, z23.d                 : frintm %p6/m %z23.d -> %z21.d
+65c2bb37 : frintm z23.d, p6/M, z25.d                 : frintm %p6/m %z25.d -> %z23.d
+65c2bf79 : frintm z25.d, p7/M, z27.d                 : frintm %p7/m %z27.d -> %z25.d
+65c2bfbb : frintm z27.d, p7/M, z29.d                 : frintm %p7/m %z29.d -> %z27.d
+65c2bfff : frintm z31.d, p7/M, z31.d                 : frintm %p7/m %z31.d -> %z31.d
+
+# FRINTN  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTN-Z.P.Z-_)
+6540a000 : frintn z0.h, p0/M, z0.h                   : frintn %p0/m %z0.h -> %z0.h
+6540a482 : frintn z2.h, p1/M, z4.h                   : frintn %p1/m %z4.h -> %z2.h
+6540a8c4 : frintn z4.h, p2/M, z6.h                   : frintn %p2/m %z6.h -> %z4.h
+6540a906 : frintn z6.h, p2/M, z8.h                   : frintn %p2/m %z8.h -> %z6.h
+6540ad48 : frintn z8.h, p3/M, z10.h                  : frintn %p3/m %z10.h -> %z8.h
+6540ad8a : frintn z10.h, p3/M, z12.h                 : frintn %p3/m %z12.h -> %z10.h
+6540b1cc : frintn z12.h, p4/M, z14.h                 : frintn %p4/m %z14.h -> %z12.h
+6540b20e : frintn z14.h, p4/M, z16.h                 : frintn %p4/m %z16.h -> %z14.h
+6540b650 : frintn z16.h, p5/M, z18.h                 : frintn %p5/m %z18.h -> %z16.h
+6540b671 : frintn z17.h, p5/M, z19.h                 : frintn %p5/m %z19.h -> %z17.h
+6540b6b3 : frintn z19.h, p5/M, z21.h                 : frintn %p5/m %z21.h -> %z19.h
+6540baf5 : frintn z21.h, p6/M, z23.h                 : frintn %p6/m %z23.h -> %z21.h
+6540bb37 : frintn z23.h, p6/M, z25.h                 : frintn %p6/m %z25.h -> %z23.h
+6540bf79 : frintn z25.h, p7/M, z27.h                 : frintn %p7/m %z27.h -> %z25.h
+6540bfbb : frintn z27.h, p7/M, z29.h                 : frintn %p7/m %z29.h -> %z27.h
+6540bfff : frintn z31.h, p7/M, z31.h                 : frintn %p7/m %z31.h -> %z31.h
+6580a000 : frintn z0.s, p0/M, z0.s                   : frintn %p0/m %z0.s -> %z0.s
+6580a482 : frintn z2.s, p1/M, z4.s                   : frintn %p1/m %z4.s -> %z2.s
+6580a8c4 : frintn z4.s, p2/M, z6.s                   : frintn %p2/m %z6.s -> %z4.s
+6580a906 : frintn z6.s, p2/M, z8.s                   : frintn %p2/m %z8.s -> %z6.s
+6580ad48 : frintn z8.s, p3/M, z10.s                  : frintn %p3/m %z10.s -> %z8.s
+6580ad8a : frintn z10.s, p3/M, z12.s                 : frintn %p3/m %z12.s -> %z10.s
+6580b1cc : frintn z12.s, p4/M, z14.s                 : frintn %p4/m %z14.s -> %z12.s
+6580b20e : frintn z14.s, p4/M, z16.s                 : frintn %p4/m %z16.s -> %z14.s
+6580b650 : frintn z16.s, p5/M, z18.s                 : frintn %p5/m %z18.s -> %z16.s
+6580b671 : frintn z17.s, p5/M, z19.s                 : frintn %p5/m %z19.s -> %z17.s
+6580b6b3 : frintn z19.s, p5/M, z21.s                 : frintn %p5/m %z21.s -> %z19.s
+6580baf5 : frintn z21.s, p6/M, z23.s                 : frintn %p6/m %z23.s -> %z21.s
+6580bb37 : frintn z23.s, p6/M, z25.s                 : frintn %p6/m %z25.s -> %z23.s
+6580bf79 : frintn z25.s, p7/M, z27.s                 : frintn %p7/m %z27.s -> %z25.s
+6580bfbb : frintn z27.s, p7/M, z29.s                 : frintn %p7/m %z29.s -> %z27.s
+6580bfff : frintn z31.s, p7/M, z31.s                 : frintn %p7/m %z31.s -> %z31.s
+65c0a000 : frintn z0.d, p0/M, z0.d                   : frintn %p0/m %z0.d -> %z0.d
+65c0a482 : frintn z2.d, p1/M, z4.d                   : frintn %p1/m %z4.d -> %z2.d
+65c0a8c4 : frintn z4.d, p2/M, z6.d                   : frintn %p2/m %z6.d -> %z4.d
+65c0a906 : frintn z6.d, p2/M, z8.d                   : frintn %p2/m %z8.d -> %z6.d
+65c0ad48 : frintn z8.d, p3/M, z10.d                  : frintn %p3/m %z10.d -> %z8.d
+65c0ad8a : frintn z10.d, p3/M, z12.d                 : frintn %p3/m %z12.d -> %z10.d
+65c0b1cc : frintn z12.d, p4/M, z14.d                 : frintn %p4/m %z14.d -> %z12.d
+65c0b20e : frintn z14.d, p4/M, z16.d                 : frintn %p4/m %z16.d -> %z14.d
+65c0b650 : frintn z16.d, p5/M, z18.d                 : frintn %p5/m %z18.d -> %z16.d
+65c0b671 : frintn z17.d, p5/M, z19.d                 : frintn %p5/m %z19.d -> %z17.d
+65c0b6b3 : frintn z19.d, p5/M, z21.d                 : frintn %p5/m %z21.d -> %z19.d
+65c0baf5 : frintn z21.d, p6/M, z23.d                 : frintn %p6/m %z23.d -> %z21.d
+65c0bb37 : frintn z23.d, p6/M, z25.d                 : frintn %p6/m %z25.d -> %z23.d
+65c0bf79 : frintn z25.d, p7/M, z27.d                 : frintn %p7/m %z27.d -> %z25.d
+65c0bfbb : frintn z27.d, p7/M, z29.d                 : frintn %p7/m %z29.d -> %z27.d
+65c0bfff : frintn z31.d, p7/M, z31.d                 : frintn %p7/m %z31.d -> %z31.d
+
+# FRINTP  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTP-Z.P.Z-_)
+6541a000 : frintp z0.h, p0/M, z0.h                   : frintp %p0/m %z0.h -> %z0.h
+6541a482 : frintp z2.h, p1/M, z4.h                   : frintp %p1/m %z4.h -> %z2.h
+6541a8c4 : frintp z4.h, p2/M, z6.h                   : frintp %p2/m %z6.h -> %z4.h
+6541a906 : frintp z6.h, p2/M, z8.h                   : frintp %p2/m %z8.h -> %z6.h
+6541ad48 : frintp z8.h, p3/M, z10.h                  : frintp %p3/m %z10.h -> %z8.h
+6541ad8a : frintp z10.h, p3/M, z12.h                 : frintp %p3/m %z12.h -> %z10.h
+6541b1cc : frintp z12.h, p4/M, z14.h                 : frintp %p4/m %z14.h -> %z12.h
+6541b20e : frintp z14.h, p4/M, z16.h                 : frintp %p4/m %z16.h -> %z14.h
+6541b650 : frintp z16.h, p5/M, z18.h                 : frintp %p5/m %z18.h -> %z16.h
+6541b671 : frintp z17.h, p5/M, z19.h                 : frintp %p5/m %z19.h -> %z17.h
+6541b6b3 : frintp z19.h, p5/M, z21.h                 : frintp %p5/m %z21.h -> %z19.h
+6541baf5 : frintp z21.h, p6/M, z23.h                 : frintp %p6/m %z23.h -> %z21.h
+6541bb37 : frintp z23.h, p6/M, z25.h                 : frintp %p6/m %z25.h -> %z23.h
+6541bf79 : frintp z25.h, p7/M, z27.h                 : frintp %p7/m %z27.h -> %z25.h
+6541bfbb : frintp z27.h, p7/M, z29.h                 : frintp %p7/m %z29.h -> %z27.h
+6541bfff : frintp z31.h, p7/M, z31.h                 : frintp %p7/m %z31.h -> %z31.h
+6581a000 : frintp z0.s, p0/M, z0.s                   : frintp %p0/m %z0.s -> %z0.s
+6581a482 : frintp z2.s, p1/M, z4.s                   : frintp %p1/m %z4.s -> %z2.s
+6581a8c4 : frintp z4.s, p2/M, z6.s                   : frintp %p2/m %z6.s -> %z4.s
+6581a906 : frintp z6.s, p2/M, z8.s                   : frintp %p2/m %z8.s -> %z6.s
+6581ad48 : frintp z8.s, p3/M, z10.s                  : frintp %p3/m %z10.s -> %z8.s
+6581ad8a : frintp z10.s, p3/M, z12.s                 : frintp %p3/m %z12.s -> %z10.s
+6581b1cc : frintp z12.s, p4/M, z14.s                 : frintp %p4/m %z14.s -> %z12.s
+6581b20e : frintp z14.s, p4/M, z16.s                 : frintp %p4/m %z16.s -> %z14.s
+6581b650 : frintp z16.s, p5/M, z18.s                 : frintp %p5/m %z18.s -> %z16.s
+6581b671 : frintp z17.s, p5/M, z19.s                 : frintp %p5/m %z19.s -> %z17.s
+6581b6b3 : frintp z19.s, p5/M, z21.s                 : frintp %p5/m %z21.s -> %z19.s
+6581baf5 : frintp z21.s, p6/M, z23.s                 : frintp %p6/m %z23.s -> %z21.s
+6581bb37 : frintp z23.s, p6/M, z25.s                 : frintp %p6/m %z25.s -> %z23.s
+6581bf79 : frintp z25.s, p7/M, z27.s                 : frintp %p7/m %z27.s -> %z25.s
+6581bfbb : frintp z27.s, p7/M, z29.s                 : frintp %p7/m %z29.s -> %z27.s
+6581bfff : frintp z31.s, p7/M, z31.s                 : frintp %p7/m %z31.s -> %z31.s
+65c1a000 : frintp z0.d, p0/M, z0.d                   : frintp %p0/m %z0.d -> %z0.d
+65c1a482 : frintp z2.d, p1/M, z4.d                   : frintp %p1/m %z4.d -> %z2.d
+65c1a8c4 : frintp z4.d, p2/M, z6.d                   : frintp %p2/m %z6.d -> %z4.d
+65c1a906 : frintp z6.d, p2/M, z8.d                   : frintp %p2/m %z8.d -> %z6.d
+65c1ad48 : frintp z8.d, p3/M, z10.d                  : frintp %p3/m %z10.d -> %z8.d
+65c1ad8a : frintp z10.d, p3/M, z12.d                 : frintp %p3/m %z12.d -> %z10.d
+65c1b1cc : frintp z12.d, p4/M, z14.d                 : frintp %p4/m %z14.d -> %z12.d
+65c1b20e : frintp z14.d, p4/M, z16.d                 : frintp %p4/m %z16.d -> %z14.d
+65c1b650 : frintp z16.d, p5/M, z18.d                 : frintp %p5/m %z18.d -> %z16.d
+65c1b671 : frintp z17.d, p5/M, z19.d                 : frintp %p5/m %z19.d -> %z17.d
+65c1b6b3 : frintp z19.d, p5/M, z21.d                 : frintp %p5/m %z21.d -> %z19.d
+65c1baf5 : frintp z21.d, p6/M, z23.d                 : frintp %p6/m %z23.d -> %z21.d
+65c1bb37 : frintp z23.d, p6/M, z25.d                 : frintp %p6/m %z25.d -> %z23.d
+65c1bf79 : frintp z25.d, p7/M, z27.d                 : frintp %p7/m %z27.d -> %z25.d
+65c1bfbb : frintp z27.d, p7/M, z29.d                 : frintp %p7/m %z29.d -> %z27.d
+65c1bfff : frintp z31.d, p7/M, z31.d                 : frintp %p7/m %z31.d -> %z31.d
+
+# FRINTX  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTX-Z.P.Z-_)
+6546a000 : frintx z0.h, p0/M, z0.h                   : frintx %p0/m %z0.h -> %z0.h
+6546a482 : frintx z2.h, p1/M, z4.h                   : frintx %p1/m %z4.h -> %z2.h
+6546a8c4 : frintx z4.h, p2/M, z6.h                   : frintx %p2/m %z6.h -> %z4.h
+6546a906 : frintx z6.h, p2/M, z8.h                   : frintx %p2/m %z8.h -> %z6.h
+6546ad48 : frintx z8.h, p3/M, z10.h                  : frintx %p3/m %z10.h -> %z8.h
+6546ad8a : frintx z10.h, p3/M, z12.h                 : frintx %p3/m %z12.h -> %z10.h
+6546b1cc : frintx z12.h, p4/M, z14.h                 : frintx %p4/m %z14.h -> %z12.h
+6546b20e : frintx z14.h, p4/M, z16.h                 : frintx %p4/m %z16.h -> %z14.h
+6546b650 : frintx z16.h, p5/M, z18.h                 : frintx %p5/m %z18.h -> %z16.h
+6546b671 : frintx z17.h, p5/M, z19.h                 : frintx %p5/m %z19.h -> %z17.h
+6546b6b3 : frintx z19.h, p5/M, z21.h                 : frintx %p5/m %z21.h -> %z19.h
+6546baf5 : frintx z21.h, p6/M, z23.h                 : frintx %p6/m %z23.h -> %z21.h
+6546bb37 : frintx z23.h, p6/M, z25.h                 : frintx %p6/m %z25.h -> %z23.h
+6546bf79 : frintx z25.h, p7/M, z27.h                 : frintx %p7/m %z27.h -> %z25.h
+6546bfbb : frintx z27.h, p7/M, z29.h                 : frintx %p7/m %z29.h -> %z27.h
+6546bfff : frintx z31.h, p7/M, z31.h                 : frintx %p7/m %z31.h -> %z31.h
+6586a000 : frintx z0.s, p0/M, z0.s                   : frintx %p0/m %z0.s -> %z0.s
+6586a482 : frintx z2.s, p1/M, z4.s                   : frintx %p1/m %z4.s -> %z2.s
+6586a8c4 : frintx z4.s, p2/M, z6.s                   : frintx %p2/m %z6.s -> %z4.s
+6586a906 : frintx z6.s, p2/M, z8.s                   : frintx %p2/m %z8.s -> %z6.s
+6586ad48 : frintx z8.s, p3/M, z10.s                  : frintx %p3/m %z10.s -> %z8.s
+6586ad8a : frintx z10.s, p3/M, z12.s                 : frintx %p3/m %z12.s -> %z10.s
+6586b1cc : frintx z12.s, p4/M, z14.s                 : frintx %p4/m %z14.s -> %z12.s
+6586b20e : frintx z14.s, p4/M, z16.s                 : frintx %p4/m %z16.s -> %z14.s
+6586b650 : frintx z16.s, p5/M, z18.s                 : frintx %p5/m %z18.s -> %z16.s
+6586b671 : frintx z17.s, p5/M, z19.s                 : frintx %p5/m %z19.s -> %z17.s
+6586b6b3 : frintx z19.s, p5/M, z21.s                 : frintx %p5/m %z21.s -> %z19.s
+6586baf5 : frintx z21.s, p6/M, z23.s                 : frintx %p6/m %z23.s -> %z21.s
+6586bb37 : frintx z23.s, p6/M, z25.s                 : frintx %p6/m %z25.s -> %z23.s
+6586bf79 : frintx z25.s, p7/M, z27.s                 : frintx %p7/m %z27.s -> %z25.s
+6586bfbb : frintx z27.s, p7/M, z29.s                 : frintx %p7/m %z29.s -> %z27.s
+6586bfff : frintx z31.s, p7/M, z31.s                 : frintx %p7/m %z31.s -> %z31.s
+65c6a000 : frintx z0.d, p0/M, z0.d                   : frintx %p0/m %z0.d -> %z0.d
+65c6a482 : frintx z2.d, p1/M, z4.d                   : frintx %p1/m %z4.d -> %z2.d
+65c6a8c4 : frintx z4.d, p2/M, z6.d                   : frintx %p2/m %z6.d -> %z4.d
+65c6a906 : frintx z6.d, p2/M, z8.d                   : frintx %p2/m %z8.d -> %z6.d
+65c6ad48 : frintx z8.d, p3/M, z10.d                  : frintx %p3/m %z10.d -> %z8.d
+65c6ad8a : frintx z10.d, p3/M, z12.d                 : frintx %p3/m %z12.d -> %z10.d
+65c6b1cc : frintx z12.d, p4/M, z14.d                 : frintx %p4/m %z14.d -> %z12.d
+65c6b20e : frintx z14.d, p4/M, z16.d                 : frintx %p4/m %z16.d -> %z14.d
+65c6b650 : frintx z16.d, p5/M, z18.d                 : frintx %p5/m %z18.d -> %z16.d
+65c6b671 : frintx z17.d, p5/M, z19.d                 : frintx %p5/m %z19.d -> %z17.d
+65c6b6b3 : frintx z19.d, p5/M, z21.d                 : frintx %p5/m %z21.d -> %z19.d
+65c6baf5 : frintx z21.d, p6/M, z23.d                 : frintx %p6/m %z23.d -> %z21.d
+65c6bb37 : frintx z23.d, p6/M, z25.d                 : frintx %p6/m %z25.d -> %z23.d
+65c6bf79 : frintx z25.d, p7/M, z27.d                 : frintx %p7/m %z27.d -> %z25.d
+65c6bfbb : frintx z27.d, p7/M, z29.d                 : frintx %p7/m %z29.d -> %z27.d
+65c6bfff : frintx z31.d, p7/M, z31.d                 : frintx %p7/m %z31.d -> %z31.d
+
+# FRINTZ  <Zd>.<T>, <Pg>/M, <Zn>.<T> (FRINTZ-Z.P.Z-_)
+6543a000 : frintz z0.h, p0/M, z0.h                   : frintz %p0/m %z0.h -> %z0.h
+6543a482 : frintz z2.h, p1/M, z4.h                   : frintz %p1/m %z4.h -> %z2.h
+6543a8c4 : frintz z4.h, p2/M, z6.h                   : frintz %p2/m %z6.h -> %z4.h
+6543a906 : frintz z6.h, p2/M, z8.h                   : frintz %p2/m %z8.h -> %z6.h
+6543ad48 : frintz z8.h, p3/M, z10.h                  : frintz %p3/m %z10.h -> %z8.h
+6543ad8a : frintz z10.h, p3/M, z12.h                 : frintz %p3/m %z12.h -> %z10.h
+6543b1cc : frintz z12.h, p4/M, z14.h                 : frintz %p4/m %z14.h -> %z12.h
+6543b20e : frintz z14.h, p4/M, z16.h                 : frintz %p4/m %z16.h -> %z14.h
+6543b650 : frintz z16.h, p5/M, z18.h                 : frintz %p5/m %z18.h -> %z16.h
+6543b671 : frintz z17.h, p5/M, z19.h                 : frintz %p5/m %z19.h -> %z17.h
+6543b6b3 : frintz z19.h, p5/M, z21.h                 : frintz %p5/m %z21.h -> %z19.h
+6543baf5 : frintz z21.h, p6/M, z23.h                 : frintz %p6/m %z23.h -> %z21.h
+6543bb37 : frintz z23.h, p6/M, z25.h                 : frintz %p6/m %z25.h -> %z23.h
+6543bf79 : frintz z25.h, p7/M, z27.h                 : frintz %p7/m %z27.h -> %z25.h
+6543bfbb : frintz z27.h, p7/M, z29.h                 : frintz %p7/m %z29.h -> %z27.h
+6543bfff : frintz z31.h, p7/M, z31.h                 : frintz %p7/m %z31.h -> %z31.h
+6583a000 : frintz z0.s, p0/M, z0.s                   : frintz %p0/m %z0.s -> %z0.s
+6583a482 : frintz z2.s, p1/M, z4.s                   : frintz %p1/m %z4.s -> %z2.s
+6583a8c4 : frintz z4.s, p2/M, z6.s                   : frintz %p2/m %z6.s -> %z4.s
+6583a906 : frintz z6.s, p2/M, z8.s                   : frintz %p2/m %z8.s -> %z6.s
+6583ad48 : frintz z8.s, p3/M, z10.s                  : frintz %p3/m %z10.s -> %z8.s
+6583ad8a : frintz z10.s, p3/M, z12.s                 : frintz %p3/m %z12.s -> %z10.s
+6583b1cc : frintz z12.s, p4/M, z14.s                 : frintz %p4/m %z14.s -> %z12.s
+6583b20e : frintz z14.s, p4/M, z16.s                 : frintz %p4/m %z16.s -> %z14.s
+6583b650 : frintz z16.s, p5/M, z18.s                 : frintz %p5/m %z18.s -> %z16.s
+6583b671 : frintz z17.s, p5/M, z19.s                 : frintz %p5/m %z19.s -> %z17.s
+6583b6b3 : frintz z19.s, p5/M, z21.s                 : frintz %p5/m %z21.s -> %z19.s
+6583baf5 : frintz z21.s, p6/M, z23.s                 : frintz %p6/m %z23.s -> %z21.s
+6583bb37 : frintz z23.s, p6/M, z25.s                 : frintz %p6/m %z25.s -> %z23.s
+6583bf79 : frintz z25.s, p7/M, z27.s                 : frintz %p7/m %z27.s -> %z25.s
+6583bfbb : frintz z27.s, p7/M, z29.s                 : frintz %p7/m %z29.s -> %z27.s
+6583bfff : frintz z31.s, p7/M, z31.s                 : frintz %p7/m %z31.s -> %z31.s
+65c3a000 : frintz z0.d, p0/M, z0.d                   : frintz %p0/m %z0.d -> %z0.d
+65c3a482 : frintz z2.d, p1/M, z4.d                   : frintz %p1/m %z4.d -> %z2.d
+65c3a8c4 : frintz z4.d, p2/M, z6.d                   : frintz %p2/m %z6.d -> %z4.d
+65c3a906 : frintz z6.d, p2/M, z8.d                   : frintz %p2/m %z8.d -> %z6.d
+65c3ad48 : frintz z8.d, p3/M, z10.d                  : frintz %p3/m %z10.d -> %z8.d
+65c3ad8a : frintz z10.d, p3/M, z12.d                 : frintz %p3/m %z12.d -> %z10.d
+65c3b1cc : frintz z12.d, p4/M, z14.d                 : frintz %p4/m %z14.d -> %z12.d
+65c3b20e : frintz z14.d, p4/M, z16.d                 : frintz %p4/m %z16.d -> %z14.d
+65c3b650 : frintz z16.d, p5/M, z18.d                 : frintz %p5/m %z18.d -> %z16.d
+65c3b671 : frintz z17.d, p5/M, z19.d                 : frintz %p5/m %z19.d -> %z17.d
+65c3b6b3 : frintz z19.d, p5/M, z21.d                 : frintz %p5/m %z21.d -> %z19.d
+65c3baf5 : frintz z21.d, p6/M, z23.d                 : frintz %p6/m %z23.d -> %z21.d
+65c3bb37 : frintz z23.d, p6/M, z25.d                 : frintz %p6/m %z25.d -> %z23.d
+65c3bf79 : frintz z25.d, p7/M, z27.d                 : frintz %p7/m %z27.d -> %z25.d
+65c3bfbb : frintz z27.d, p7/M, z29.d                 : frintz %p7/m %z29.d -> %z27.d
+65c3bfff : frintz z31.d, p7/M, z31.d                 : frintz %p7/m %z31.d -> %z31.d
+
 # FTMAD   <Zdn>.<T>, <Zdn>.<T>, <Zm>.<T>, #<imm> (FTMAD-Z.ZZI-_)
 65508000 : ftmad z0.h, z0.h, z0.h, #0x0              : ftmad  %z0.h %z0.h $0x00 -> %z0.h
 65508062 : ftmad z2.h, z2.h, z3.h, #0x0              : ftmad  %z2.h %z3.h $0x00 -> %z2.h
@@ -9858,6 +10568,132 @@
 04803fbb : saddv d27, p7, z29.s                      : saddv  %p7 %z29.s -> %d27
 04803fff : saddv d31, p7, z31.s                      : saddv  %p7 %z31.s -> %d31
 
+# SCVTF   <Zd>.H, <Pg>/M, <Zn>.H (SCVTF-Z.P.Z-H2FP16)
+6552a000 : scvtf z0.h, p0/M, z0.h                    : scvtf  %p0/m %z0.h -> %z0.h
+6552a482 : scvtf z2.h, p1/M, z4.h                    : scvtf  %p1/m %z4.h -> %z2.h
+6552a8c4 : scvtf z4.h, p2/M, z6.h                    : scvtf  %p2/m %z6.h -> %z4.h
+6552a906 : scvtf z6.h, p2/M, z8.h                    : scvtf  %p2/m %z8.h -> %z6.h
+6552ad48 : scvtf z8.h, p3/M, z10.h                   : scvtf  %p3/m %z10.h -> %z8.h
+6552ad8a : scvtf z10.h, p3/M, z12.h                  : scvtf  %p3/m %z12.h -> %z10.h
+6552b1cc : scvtf z12.h, p4/M, z14.h                  : scvtf  %p4/m %z14.h -> %z12.h
+6552b20e : scvtf z14.h, p4/M, z16.h                  : scvtf  %p4/m %z16.h -> %z14.h
+6552b650 : scvtf z16.h, p5/M, z18.h                  : scvtf  %p5/m %z18.h -> %z16.h
+6552b671 : scvtf z17.h, p5/M, z19.h                  : scvtf  %p5/m %z19.h -> %z17.h
+6552b6b3 : scvtf z19.h, p5/M, z21.h                  : scvtf  %p5/m %z21.h -> %z19.h
+6552baf5 : scvtf z21.h, p6/M, z23.h                  : scvtf  %p6/m %z23.h -> %z21.h
+6552bb37 : scvtf z23.h, p6/M, z25.h                  : scvtf  %p6/m %z25.h -> %z23.h
+6552bf79 : scvtf z25.h, p7/M, z27.h                  : scvtf  %p7/m %z27.h -> %z25.h
+6552bfbb : scvtf z27.h, p7/M, z29.h                  : scvtf  %p7/m %z29.h -> %z27.h
+6552bfff : scvtf z31.h, p7/M, z31.h                  : scvtf  %p7/m %z31.h -> %z31.h
+
+# SCVTF   <Zd>.D, <Pg>/M, <Zn>.S (SCVTF-Z.P.Z-W2D)
+65d0a000 : scvtf z0.d, p0/M, z0.s                    : scvtf  %p0/m %z0.s -> %z0.d
+65d0a482 : scvtf z2.d, p1/M, z4.s                    : scvtf  %p1/m %z4.s -> %z2.d
+65d0a8c4 : scvtf z4.d, p2/M, z6.s                    : scvtf  %p2/m %z6.s -> %z4.d
+65d0a906 : scvtf z6.d, p2/M, z8.s                    : scvtf  %p2/m %z8.s -> %z6.d
+65d0ad48 : scvtf z8.d, p3/M, z10.s                   : scvtf  %p3/m %z10.s -> %z8.d
+65d0ad8a : scvtf z10.d, p3/M, z12.s                  : scvtf  %p3/m %z12.s -> %z10.d
+65d0b1cc : scvtf z12.d, p4/M, z14.s                  : scvtf  %p4/m %z14.s -> %z12.d
+65d0b20e : scvtf z14.d, p4/M, z16.s                  : scvtf  %p4/m %z16.s -> %z14.d
+65d0b650 : scvtf z16.d, p5/M, z18.s                  : scvtf  %p5/m %z18.s -> %z16.d
+65d0b671 : scvtf z17.d, p5/M, z19.s                  : scvtf  %p5/m %z19.s -> %z17.d
+65d0b6b3 : scvtf z19.d, p5/M, z21.s                  : scvtf  %p5/m %z21.s -> %z19.d
+65d0baf5 : scvtf z21.d, p6/M, z23.s                  : scvtf  %p6/m %z23.s -> %z21.d
+65d0bb37 : scvtf z23.d, p6/M, z25.s                  : scvtf  %p6/m %z25.s -> %z23.d
+65d0bf79 : scvtf z25.d, p7/M, z27.s                  : scvtf  %p7/m %z27.s -> %z25.d
+65d0bfbb : scvtf z27.d, p7/M, z29.s                  : scvtf  %p7/m %z29.s -> %z27.d
+65d0bfff : scvtf z31.d, p7/M, z31.s                  : scvtf  %p7/m %z31.s -> %z31.d
+
+# SCVTF   <Zd>.H, <Pg>/M, <Zn>.S (SCVTF-Z.P.Z-W2FP16)
+6554a000 : scvtf z0.h, p0/M, z0.s                    : scvtf  %p0/m %z0.s -> %z0.h
+6554a482 : scvtf z2.h, p1/M, z4.s                    : scvtf  %p1/m %z4.s -> %z2.h
+6554a8c4 : scvtf z4.h, p2/M, z6.s                    : scvtf  %p2/m %z6.s -> %z4.h
+6554a906 : scvtf z6.h, p2/M, z8.s                    : scvtf  %p2/m %z8.s -> %z6.h
+6554ad48 : scvtf z8.h, p3/M, z10.s                   : scvtf  %p3/m %z10.s -> %z8.h
+6554ad8a : scvtf z10.h, p3/M, z12.s                  : scvtf  %p3/m %z12.s -> %z10.h
+6554b1cc : scvtf z12.h, p4/M, z14.s                  : scvtf  %p4/m %z14.s -> %z12.h
+6554b20e : scvtf z14.h, p4/M, z16.s                  : scvtf  %p4/m %z16.s -> %z14.h
+6554b650 : scvtf z16.h, p5/M, z18.s                  : scvtf  %p5/m %z18.s -> %z16.h
+6554b671 : scvtf z17.h, p5/M, z19.s                  : scvtf  %p5/m %z19.s -> %z17.h
+6554b6b3 : scvtf z19.h, p5/M, z21.s                  : scvtf  %p5/m %z21.s -> %z19.h
+6554baf5 : scvtf z21.h, p6/M, z23.s                  : scvtf  %p6/m %z23.s -> %z21.h
+6554bb37 : scvtf z23.h, p6/M, z25.s                  : scvtf  %p6/m %z25.s -> %z23.h
+6554bf79 : scvtf z25.h, p7/M, z27.s                  : scvtf  %p7/m %z27.s -> %z25.h
+6554bfbb : scvtf z27.h, p7/M, z29.s                  : scvtf  %p7/m %z29.s -> %z27.h
+6554bfff : scvtf z31.h, p7/M, z31.s                  : scvtf  %p7/m %z31.s -> %z31.h
+
+# SCVTF   <Zd>.S, <Pg>/M, <Zn>.S (SCVTF-Z.P.Z-W2S)
+6594a000 : scvtf z0.s, p0/M, z0.s                    : scvtf  %p0/m %z0.s -> %z0.s
+6594a482 : scvtf z2.s, p1/M, z4.s                    : scvtf  %p1/m %z4.s -> %z2.s
+6594a8c4 : scvtf z4.s, p2/M, z6.s                    : scvtf  %p2/m %z6.s -> %z4.s
+6594a906 : scvtf z6.s, p2/M, z8.s                    : scvtf  %p2/m %z8.s -> %z6.s
+6594ad48 : scvtf z8.s, p3/M, z10.s                   : scvtf  %p3/m %z10.s -> %z8.s
+6594ad8a : scvtf z10.s, p3/M, z12.s                  : scvtf  %p3/m %z12.s -> %z10.s
+6594b1cc : scvtf z12.s, p4/M, z14.s                  : scvtf  %p4/m %z14.s -> %z12.s
+6594b20e : scvtf z14.s, p4/M, z16.s                  : scvtf  %p4/m %z16.s -> %z14.s
+6594b650 : scvtf z16.s, p5/M, z18.s                  : scvtf  %p5/m %z18.s -> %z16.s
+6594b671 : scvtf z17.s, p5/M, z19.s                  : scvtf  %p5/m %z19.s -> %z17.s
+6594b6b3 : scvtf z19.s, p5/M, z21.s                  : scvtf  %p5/m %z21.s -> %z19.s
+6594baf5 : scvtf z21.s, p6/M, z23.s                  : scvtf  %p6/m %z23.s -> %z21.s
+6594bb37 : scvtf z23.s, p6/M, z25.s                  : scvtf  %p6/m %z25.s -> %z23.s
+6594bf79 : scvtf z25.s, p7/M, z27.s                  : scvtf  %p7/m %z27.s -> %z25.s
+6594bfbb : scvtf z27.s, p7/M, z29.s                  : scvtf  %p7/m %z29.s -> %z27.s
+6594bfff : scvtf z31.s, p7/M, z31.s                  : scvtf  %p7/m %z31.s -> %z31.s
+
+# SCVTF   <Zd>.D, <Pg>/M, <Zn>.D (SCVTF-Z.P.Z-X2D)
+65d6a000 : scvtf z0.d, p0/M, z0.d                    : scvtf  %p0/m %z0.d -> %z0.d
+65d6a482 : scvtf z2.d, p1/M, z4.d                    : scvtf  %p1/m %z4.d -> %z2.d
+65d6a8c4 : scvtf z4.d, p2/M, z6.d                    : scvtf  %p2/m %z6.d -> %z4.d
+65d6a906 : scvtf z6.d, p2/M, z8.d                    : scvtf  %p2/m %z8.d -> %z6.d
+65d6ad48 : scvtf z8.d, p3/M, z10.d                   : scvtf  %p3/m %z10.d -> %z8.d
+65d6ad8a : scvtf z10.d, p3/M, z12.d                  : scvtf  %p3/m %z12.d -> %z10.d
+65d6b1cc : scvtf z12.d, p4/M, z14.d                  : scvtf  %p4/m %z14.d -> %z12.d
+65d6b20e : scvtf z14.d, p4/M, z16.d                  : scvtf  %p4/m %z16.d -> %z14.d
+65d6b650 : scvtf z16.d, p5/M, z18.d                  : scvtf  %p5/m %z18.d -> %z16.d
+65d6b671 : scvtf z17.d, p5/M, z19.d                  : scvtf  %p5/m %z19.d -> %z17.d
+65d6b6b3 : scvtf z19.d, p5/M, z21.d                  : scvtf  %p5/m %z21.d -> %z19.d
+65d6baf5 : scvtf z21.d, p6/M, z23.d                  : scvtf  %p6/m %z23.d -> %z21.d
+65d6bb37 : scvtf z23.d, p6/M, z25.d                  : scvtf  %p6/m %z25.d -> %z23.d
+65d6bf79 : scvtf z25.d, p7/M, z27.d                  : scvtf  %p7/m %z27.d -> %z25.d
+65d6bfbb : scvtf z27.d, p7/M, z29.d                  : scvtf  %p7/m %z29.d -> %z27.d
+65d6bfff : scvtf z31.d, p7/M, z31.d                  : scvtf  %p7/m %z31.d -> %z31.d
+
+# SCVTF   <Zd>.H, <Pg>/M, <Zn>.D (SCVTF-Z.P.Z-X2FP16)
+6556a000 : scvtf z0.h, p0/M, z0.d                    : scvtf  %p0/m %z0.d -> %z0.h
+6556a482 : scvtf z2.h, p1/M, z4.d                    : scvtf  %p1/m %z4.d -> %z2.h
+6556a8c4 : scvtf z4.h, p2/M, z6.d                    : scvtf  %p2/m %z6.d -> %z4.h
+6556a906 : scvtf z6.h, p2/M, z8.d                    : scvtf  %p2/m %z8.d -> %z6.h
+6556ad48 : scvtf z8.h, p3/M, z10.d                   : scvtf  %p3/m %z10.d -> %z8.h
+6556ad8a : scvtf z10.h, p3/M, z12.d                  : scvtf  %p3/m %z12.d -> %z10.h
+6556b1cc : scvtf z12.h, p4/M, z14.d                  : scvtf  %p4/m %z14.d -> %z12.h
+6556b20e : scvtf z14.h, p4/M, z16.d                  : scvtf  %p4/m %z16.d -> %z14.h
+6556b650 : scvtf z16.h, p5/M, z18.d                  : scvtf  %p5/m %z18.d -> %z16.h
+6556b671 : scvtf z17.h, p5/M, z19.d                  : scvtf  %p5/m %z19.d -> %z17.h
+6556b6b3 : scvtf z19.h, p5/M, z21.d                  : scvtf  %p5/m %z21.d -> %z19.h
+6556baf5 : scvtf z21.h, p6/M, z23.d                  : scvtf  %p6/m %z23.d -> %z21.h
+6556bb37 : scvtf z23.h, p6/M, z25.d                  : scvtf  %p6/m %z25.d -> %z23.h
+6556bf79 : scvtf z25.h, p7/M, z27.d                  : scvtf  %p7/m %z27.d -> %z25.h
+6556bfbb : scvtf z27.h, p7/M, z29.d                  : scvtf  %p7/m %z29.d -> %z27.h
+6556bfff : scvtf z31.h, p7/M, z31.d                  : scvtf  %p7/m %z31.d -> %z31.h
+
+# SCVTF   <Zd>.S, <Pg>/M, <Zn>.D (SCVTF-Z.P.Z-X2S)
+65d4a000 : scvtf z0.s, p0/M, z0.d                    : scvtf  %p0/m %z0.d -> %z0.s
+65d4a482 : scvtf z2.s, p1/M, z4.d                    : scvtf  %p1/m %z4.d -> %z2.s
+65d4a8c4 : scvtf z4.s, p2/M, z6.d                    : scvtf  %p2/m %z6.d -> %z4.s
+65d4a906 : scvtf z6.s, p2/M, z8.d                    : scvtf  %p2/m %z8.d -> %z6.s
+65d4ad48 : scvtf z8.s, p3/M, z10.d                   : scvtf  %p3/m %z10.d -> %z8.s
+65d4ad8a : scvtf z10.s, p3/M, z12.d                  : scvtf  %p3/m %z12.d -> %z10.s
+65d4b1cc : scvtf z12.s, p4/M, z14.d                  : scvtf  %p4/m %z14.d -> %z12.s
+65d4b20e : scvtf z14.s, p4/M, z16.d                  : scvtf  %p4/m %z16.d -> %z14.s
+65d4b650 : scvtf z16.s, p5/M, z18.d                  : scvtf  %p5/m %z18.d -> %z16.s
+65d4b671 : scvtf z17.s, p5/M, z19.d                  : scvtf  %p5/m %z19.d -> %z17.s
+65d4b6b3 : scvtf z19.s, p5/M, z21.d                  : scvtf  %p5/m %z21.d -> %z19.s
+65d4baf5 : scvtf z21.s, p6/M, z23.d                  : scvtf  %p6/m %z23.d -> %z21.s
+65d4bb37 : scvtf z23.s, p6/M, z25.d                  : scvtf  %p6/m %z25.d -> %z23.s
+65d4bf79 : scvtf z25.s, p7/M, z27.d                  : scvtf  %p7/m %z27.d -> %z25.s
+65d4bfbb : scvtf z27.s, p7/M, z29.d                  : scvtf  %p7/m %z29.d -> %z27.s
+65d4bfff : scvtf z31.s, p7/M, z31.d                  : scvtf  %p7/m %z31.d -> %z31.s
+
 # SDIV    <Zdn>.<T>, <Pg>/M, <Zdn>.<T>, <Zm>.<T> (SDIV-Z.P.ZZ-_)
 04940000 : sdiv z0.s, p0/M, z0.s, z0.s               : sdiv   %p0/m %z0.s %z0.s -> %z0.s
 04940482 : sdiv z2.s, p1/M, z2.s, z4.s               : sdiv   %p1/m %z2.s %z4.s -> %z2.s
@@ -13011,6 +13847,132 @@ e5b615ef : str p15, [x15, #-75, mul vl]             : str    %p15 -> -0x4b(%x15)
 04c13fbb : uaddv d27, p7, z29.d                      : uaddv  %p7 %z29.d -> %d27
 04c13fff : uaddv d31, p7, z31.d                      : uaddv  %p7 %z31.d -> %d31
 
+# UCVTF   <Zd>.H, <Pg>/M, <Zn>.H (UCVTF-Z.P.Z-H2FP16)
+6553a000 : ucvtf z0.h, p0/M, z0.h                    : ucvtf  %p0/m %z0.h -> %z0.h
+6553a482 : ucvtf z2.h, p1/M, z4.h                    : ucvtf  %p1/m %z4.h -> %z2.h
+6553a8c4 : ucvtf z4.h, p2/M, z6.h                    : ucvtf  %p2/m %z6.h -> %z4.h
+6553a906 : ucvtf z6.h, p2/M, z8.h                    : ucvtf  %p2/m %z8.h -> %z6.h
+6553ad48 : ucvtf z8.h, p3/M, z10.h                   : ucvtf  %p3/m %z10.h -> %z8.h
+6553ad8a : ucvtf z10.h, p3/M, z12.h                  : ucvtf  %p3/m %z12.h -> %z10.h
+6553b1cc : ucvtf z12.h, p4/M, z14.h                  : ucvtf  %p4/m %z14.h -> %z12.h
+6553b20e : ucvtf z14.h, p4/M, z16.h                  : ucvtf  %p4/m %z16.h -> %z14.h
+6553b650 : ucvtf z16.h, p5/M, z18.h                  : ucvtf  %p5/m %z18.h -> %z16.h
+6553b671 : ucvtf z17.h, p5/M, z19.h                  : ucvtf  %p5/m %z19.h -> %z17.h
+6553b6b3 : ucvtf z19.h, p5/M, z21.h                  : ucvtf  %p5/m %z21.h -> %z19.h
+6553baf5 : ucvtf z21.h, p6/M, z23.h                  : ucvtf  %p6/m %z23.h -> %z21.h
+6553bb37 : ucvtf z23.h, p6/M, z25.h                  : ucvtf  %p6/m %z25.h -> %z23.h
+6553bf79 : ucvtf z25.h, p7/M, z27.h                  : ucvtf  %p7/m %z27.h -> %z25.h
+6553bfbb : ucvtf z27.h, p7/M, z29.h                  : ucvtf  %p7/m %z29.h -> %z27.h
+6553bfff : ucvtf z31.h, p7/M, z31.h                  : ucvtf  %p7/m %z31.h -> %z31.h
+
+# UCVTF   <Zd>.D, <Pg>/M, <Zn>.S (UCVTF-Z.P.Z-W2D)
+65d1a000 : ucvtf z0.d, p0/M, z0.s                    : ucvtf  %p0/m %z0.s -> %z0.d
+65d1a482 : ucvtf z2.d, p1/M, z4.s                    : ucvtf  %p1/m %z4.s -> %z2.d
+65d1a8c4 : ucvtf z4.d, p2/M, z6.s                    : ucvtf  %p2/m %z6.s -> %z4.d
+65d1a906 : ucvtf z6.d, p2/M, z8.s                    : ucvtf  %p2/m %z8.s -> %z6.d
+65d1ad48 : ucvtf z8.d, p3/M, z10.s                   : ucvtf  %p3/m %z10.s -> %z8.d
+65d1ad8a : ucvtf z10.d, p3/M, z12.s                  : ucvtf  %p3/m %z12.s -> %z10.d
+65d1b1cc : ucvtf z12.d, p4/M, z14.s                  : ucvtf  %p4/m %z14.s -> %z12.d
+65d1b20e : ucvtf z14.d, p4/M, z16.s                  : ucvtf  %p4/m %z16.s -> %z14.d
+65d1b650 : ucvtf z16.d, p5/M, z18.s                  : ucvtf  %p5/m %z18.s -> %z16.d
+65d1b671 : ucvtf z17.d, p5/M, z19.s                  : ucvtf  %p5/m %z19.s -> %z17.d
+65d1b6b3 : ucvtf z19.d, p5/M, z21.s                  : ucvtf  %p5/m %z21.s -> %z19.d
+65d1baf5 : ucvtf z21.d, p6/M, z23.s                  : ucvtf  %p6/m %z23.s -> %z21.d
+65d1bb37 : ucvtf z23.d, p6/M, z25.s                  : ucvtf  %p6/m %z25.s -> %z23.d
+65d1bf79 : ucvtf z25.d, p7/M, z27.s                  : ucvtf  %p7/m %z27.s -> %z25.d
+65d1bfbb : ucvtf z27.d, p7/M, z29.s                  : ucvtf  %p7/m %z29.s -> %z27.d
+65d1bfff : ucvtf z31.d, p7/M, z31.s                  : ucvtf  %p7/m %z31.s -> %z31.d
+
+# UCVTF   <Zd>.H, <Pg>/M, <Zn>.S (UCVTF-Z.P.Z-W2FP16)
+6555a000 : ucvtf z0.h, p0/M, z0.s                    : ucvtf  %p0/m %z0.s -> %z0.h
+6555a482 : ucvtf z2.h, p1/M, z4.s                    : ucvtf  %p1/m %z4.s -> %z2.h
+6555a8c4 : ucvtf z4.h, p2/M, z6.s                    : ucvtf  %p2/m %z6.s -> %z4.h
+6555a906 : ucvtf z6.h, p2/M, z8.s                    : ucvtf  %p2/m %z8.s -> %z6.h
+6555ad48 : ucvtf z8.h, p3/M, z10.s                   : ucvtf  %p3/m %z10.s -> %z8.h
+6555ad8a : ucvtf z10.h, p3/M, z12.s                  : ucvtf  %p3/m %z12.s -> %z10.h
+6555b1cc : ucvtf z12.h, p4/M, z14.s                  : ucvtf  %p4/m %z14.s -> %z12.h
+6555b20e : ucvtf z14.h, p4/M, z16.s                  : ucvtf  %p4/m %z16.s -> %z14.h
+6555b650 : ucvtf z16.h, p5/M, z18.s                  : ucvtf  %p5/m %z18.s -> %z16.h
+6555b671 : ucvtf z17.h, p5/M, z19.s                  : ucvtf  %p5/m %z19.s -> %z17.h
+6555b6b3 : ucvtf z19.h, p5/M, z21.s                  : ucvtf  %p5/m %z21.s -> %z19.h
+6555baf5 : ucvtf z21.h, p6/M, z23.s                  : ucvtf  %p6/m %z23.s -> %z21.h
+6555bb37 : ucvtf z23.h, p6/M, z25.s                  : ucvtf  %p6/m %z25.s -> %z23.h
+6555bf79 : ucvtf z25.h, p7/M, z27.s                  : ucvtf  %p7/m %z27.s -> %z25.h
+6555bfbb : ucvtf z27.h, p7/M, z29.s                  : ucvtf  %p7/m %z29.s -> %z27.h
+6555bfff : ucvtf z31.h, p7/M, z31.s                  : ucvtf  %p7/m %z31.s -> %z31.h
+
+# UCVTF   <Zd>.S, <Pg>/M, <Zn>.S (UCVTF-Z.P.Z-W2S)
+6595a000 : ucvtf z0.s, p0/M, z0.s                    : ucvtf  %p0/m %z0.s -> %z0.s
+6595a482 : ucvtf z2.s, p1/M, z4.s                    : ucvtf  %p1/m %z4.s -> %z2.s
+6595a8c4 : ucvtf z4.s, p2/M, z6.s                    : ucvtf  %p2/m %z6.s -> %z4.s
+6595a906 : ucvtf z6.s, p2/M, z8.s                    : ucvtf  %p2/m %z8.s -> %z6.s
+6595ad48 : ucvtf z8.s, p3/M, z10.s                   : ucvtf  %p3/m %z10.s -> %z8.s
+6595ad8a : ucvtf z10.s, p3/M, z12.s                  : ucvtf  %p3/m %z12.s -> %z10.s
+6595b1cc : ucvtf z12.s, p4/M, z14.s                  : ucvtf  %p4/m %z14.s -> %z12.s
+6595b20e : ucvtf z14.s, p4/M, z16.s                  : ucvtf  %p4/m %z16.s -> %z14.s
+6595b650 : ucvtf z16.s, p5/M, z18.s                  : ucvtf  %p5/m %z18.s -> %z16.s
+6595b671 : ucvtf z17.s, p5/M, z19.s                  : ucvtf  %p5/m %z19.s -> %z17.s
+6595b6b3 : ucvtf z19.s, p5/M, z21.s                  : ucvtf  %p5/m %z21.s -> %z19.s
+6595baf5 : ucvtf z21.s, p6/M, z23.s                  : ucvtf  %p6/m %z23.s -> %z21.s
+6595bb37 : ucvtf z23.s, p6/M, z25.s                  : ucvtf  %p6/m %z25.s -> %z23.s
+6595bf79 : ucvtf z25.s, p7/M, z27.s                  : ucvtf  %p7/m %z27.s -> %z25.s
+6595bfbb : ucvtf z27.s, p7/M, z29.s                  : ucvtf  %p7/m %z29.s -> %z27.s
+6595bfff : ucvtf z31.s, p7/M, z31.s                  : ucvtf  %p7/m %z31.s -> %z31.s
+
+# UCVTF   <Zd>.D, <Pg>/M, <Zn>.D (UCVTF-Z.P.Z-X2D)
+65d7a000 : ucvtf z0.d, p0/M, z0.d                    : ucvtf  %p0/m %z0.d -> %z0.d
+65d7a482 : ucvtf z2.d, p1/M, z4.d                    : ucvtf  %p1/m %z4.d -> %z2.d
+65d7a8c4 : ucvtf z4.d, p2/M, z6.d                    : ucvtf  %p2/m %z6.d -> %z4.d
+65d7a906 : ucvtf z6.d, p2/M, z8.d                    : ucvtf  %p2/m %z8.d -> %z6.d
+65d7ad48 : ucvtf z8.d, p3/M, z10.d                   : ucvtf  %p3/m %z10.d -> %z8.d
+65d7ad8a : ucvtf z10.d, p3/M, z12.d                  : ucvtf  %p3/m %z12.d -> %z10.d
+65d7b1cc : ucvtf z12.d, p4/M, z14.d                  : ucvtf  %p4/m %z14.d -> %z12.d
+65d7b20e : ucvtf z14.d, p4/M, z16.d                  : ucvtf  %p4/m %z16.d -> %z14.d
+65d7b650 : ucvtf z16.d, p5/M, z18.d                  : ucvtf  %p5/m %z18.d -> %z16.d
+65d7b671 : ucvtf z17.d, p5/M, z19.d                  : ucvtf  %p5/m %z19.d -> %z17.d
+65d7b6b3 : ucvtf z19.d, p5/M, z21.d                  : ucvtf  %p5/m %z21.d -> %z19.d
+65d7baf5 : ucvtf z21.d, p6/M, z23.d                  : ucvtf  %p6/m %z23.d -> %z21.d
+65d7bb37 : ucvtf z23.d, p6/M, z25.d                  : ucvtf  %p6/m %z25.d -> %z23.d
+65d7bf79 : ucvtf z25.d, p7/M, z27.d                  : ucvtf  %p7/m %z27.d -> %z25.d
+65d7bfbb : ucvtf z27.d, p7/M, z29.d                  : ucvtf  %p7/m %z29.d -> %z27.d
+65d7bfff : ucvtf z31.d, p7/M, z31.d                  : ucvtf  %p7/m %z31.d -> %z31.d
+
+# UCVTF   <Zd>.H, <Pg>/M, <Zn>.D (UCVTF-Z.P.Z-X2FP16)
+6557a000 : ucvtf z0.h, p0/M, z0.d                    : ucvtf  %p0/m %z0.d -> %z0.h
+6557a482 : ucvtf z2.h, p1/M, z4.d                    : ucvtf  %p1/m %z4.d -> %z2.h
+6557a8c4 : ucvtf z4.h, p2/M, z6.d                    : ucvtf  %p2/m %z6.d -> %z4.h
+6557a906 : ucvtf z6.h, p2/M, z8.d                    : ucvtf  %p2/m %z8.d -> %z6.h
+6557ad48 : ucvtf z8.h, p3/M, z10.d                   : ucvtf  %p3/m %z10.d -> %z8.h
+6557ad8a : ucvtf z10.h, p3/M, z12.d                  : ucvtf  %p3/m %z12.d -> %z10.h
+6557b1cc : ucvtf z12.h, p4/M, z14.d                  : ucvtf  %p4/m %z14.d -> %z12.h
+6557b20e : ucvtf z14.h, p4/M, z16.d                  : ucvtf  %p4/m %z16.d -> %z14.h
+6557b650 : ucvtf z16.h, p5/M, z18.d                  : ucvtf  %p5/m %z18.d -> %z16.h
+6557b671 : ucvtf z17.h, p5/M, z19.d                  : ucvtf  %p5/m %z19.d -> %z17.h
+6557b6b3 : ucvtf z19.h, p5/M, z21.d                  : ucvtf  %p5/m %z21.d -> %z19.h
+6557baf5 : ucvtf z21.h, p6/M, z23.d                  : ucvtf  %p6/m %z23.d -> %z21.h
+6557bb37 : ucvtf z23.h, p6/M, z25.d                  : ucvtf  %p6/m %z25.d -> %z23.h
+6557bf79 : ucvtf z25.h, p7/M, z27.d                  : ucvtf  %p7/m %z27.d -> %z25.h
+6557bfbb : ucvtf z27.h, p7/M, z29.d                  : ucvtf  %p7/m %z29.d -> %z27.h
+6557bfff : ucvtf z31.h, p7/M, z31.d                  : ucvtf  %p7/m %z31.d -> %z31.h
+
+# UCVTF   <Zd>.S, <Pg>/M, <Zn>.D (UCVTF-Z.P.Z-X2S)
+65d5a000 : ucvtf z0.s, p0/M, z0.d                    : ucvtf  %p0/m %z0.d -> %z0.s
+65d5a482 : ucvtf z2.s, p1/M, z4.d                    : ucvtf  %p1/m %z4.d -> %z2.s
+65d5a8c4 : ucvtf z4.s, p2/M, z6.d                    : ucvtf  %p2/m %z6.d -> %z4.s
+65d5a906 : ucvtf z6.s, p2/M, z8.d                    : ucvtf  %p2/m %z8.d -> %z6.s
+65d5ad48 : ucvtf z8.s, p3/M, z10.d                   : ucvtf  %p3/m %z10.d -> %z8.s
+65d5ad8a : ucvtf z10.s, p3/M, z12.d                  : ucvtf  %p3/m %z12.d -> %z10.s
+65d5b1cc : ucvtf z12.s, p4/M, z14.d                  : ucvtf  %p4/m %z14.d -> %z12.s
+65d5b20e : ucvtf z14.s, p4/M, z16.d                  : ucvtf  %p4/m %z16.d -> %z14.s
+65d5b650 : ucvtf z16.s, p5/M, z18.d                  : ucvtf  %p5/m %z18.d -> %z16.s
+65d5b671 : ucvtf z17.s, p5/M, z19.d                  : ucvtf  %p5/m %z19.d -> %z17.s
+65d5b6b3 : ucvtf z19.s, p5/M, z21.d                  : ucvtf  %p5/m %z21.d -> %z19.s
+65d5baf5 : ucvtf z21.s, p6/M, z23.d                  : ucvtf  %p6/m %z23.d -> %z21.s
+65d5bb37 : ucvtf z23.s, p6/M, z25.d                  : ucvtf  %p6/m %z25.d -> %z23.s
+65d5bf79 : ucvtf z25.s, p7/M, z27.d                  : ucvtf  %p7/m %z27.d -> %z25.s
+65d5bfbb : ucvtf z27.s, p7/M, z29.d                  : ucvtf  %p7/m %z29.d -> %z27.s
+65d5bfff : ucvtf z31.s, p7/M, z31.d                  : ucvtf  %p7/m %z31.d -> %z31.s
+
 # UDIV    <Zdn>.<T>, <Pg>/M, <Zdn>.<T>, <Zm>.<T> (UDIV-Z.P.ZZ-_)
 04950000 : udiv z0.s, p0/M, z0.s, z0.s               : udiv   %p0/m %z0.s %z0.s -> %z0.s
 04950482 : udiv z2.s, p1/M, z2.s, z4.s               : udiv   %p1/m %z2.s %z4.s -> %z2.s
diff --git a/suite/tests/api/ir_aarch64_sve.c b/suite/tests/api/ir_aarch64_sve.c
index 80138b646f2f3ec4716c47e6d6c8d018b3ee7550..890c07f05fc95614d06425632f6f5e8dfbe003a9 100644
--- a/suite/tests/api/ir_aarch64_sve.c
+++ b/suite/tests/api/ir_aarch64_sve.c
@@ -11220,6 +11220,635 @@ TEST_INSTR(index_sve)
               opnd_create_reg(Xn_six_offset_2[i]), opnd_create_reg(Xn_six_offset_3[i]));
 }
 
+TEST_INSTR(fcvt_sve_pred)
+{
+    /* Testing FCVT    <Zd>.H, <Pg>/M, <Zn>.D */
+    const char *const expected_0_0[6] = {
+        "fcvt   %p0/m %z0.d -> %z0.h",   "fcvt   %p2/m %z7.d -> %z5.h",
+        "fcvt   %p3/m %z12.d -> %z10.h", "fcvt   %p5/m %z18.d -> %z16.h",
+        "fcvt   %p6/m %z23.d -> %z21.h", "fcvt   %p7/m %z31.d -> %z31.h",
+    };
+    TEST_LOOP(fcvt, fcvt_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing FCVT    <Zd>.S, <Pg>/M, <Zn>.D */
+    const char *const expected_1_0[6] = {
+        "fcvt   %p0/m %z0.d -> %z0.s",   "fcvt   %p2/m %z7.d -> %z5.s",
+        "fcvt   %p3/m %z12.d -> %z10.s", "fcvt   %p5/m %z18.d -> %z16.s",
+        "fcvt   %p6/m %z23.d -> %z21.s", "fcvt   %p7/m %z31.d -> %z31.s",
+    };
+    TEST_LOOP(fcvt, fcvt_sve_pred, 6, expected_1_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing FCVT    <Zd>.D, <Pg>/M, <Zn>.H */
+    const char *const expected_2_0[6] = {
+        "fcvt   %p0/m %z0.h -> %z0.d",   "fcvt   %p2/m %z7.h -> %z5.d",
+        "fcvt   %p3/m %z12.h -> %z10.d", "fcvt   %p5/m %z18.h -> %z16.d",
+        "fcvt   %p6/m %z23.h -> %z21.d", "fcvt   %p7/m %z31.h -> %z31.d",
+    };
+    TEST_LOOP(fcvt, fcvt_sve_pred, 6, expected_2_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVT    <Zd>.S, <Pg>/M, <Zn>.H */
+    const char *const expected_3_0[6] = {
+        "fcvt   %p0/m %z0.h -> %z0.s",   "fcvt   %p2/m %z7.h -> %z5.s",
+        "fcvt   %p3/m %z12.h -> %z10.s", "fcvt   %p5/m %z18.h -> %z16.s",
+        "fcvt   %p6/m %z23.h -> %z21.s", "fcvt   %p7/m %z31.h -> %z31.s",
+    };
+    TEST_LOOP(fcvt, fcvt_sve_pred, 6, expected_3_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVT    <Zd>.D, <Pg>/M, <Zn>.S */
+    const char *const expected_4_0[6] = {
+        "fcvt   %p0/m %z0.s -> %z0.d",   "fcvt   %p2/m %z7.s -> %z5.d",
+        "fcvt   %p3/m %z12.s -> %z10.d", "fcvt   %p5/m %z18.s -> %z16.d",
+        "fcvt   %p6/m %z23.s -> %z21.d", "fcvt   %p7/m %z31.s -> %z31.d",
+    };
+    TEST_LOOP(fcvt, fcvt_sve_pred, 6, expected_4_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing FCVT    <Zd>.H, <Pg>/M, <Zn>.S */
+    const char *const expected_5_0[6] = {
+        "fcvt   %p0/m %z0.s -> %z0.h",   "fcvt   %p2/m %z7.s -> %z5.h",
+        "fcvt   %p3/m %z12.s -> %z10.h", "fcvt   %p5/m %z18.s -> %z16.h",
+        "fcvt   %p6/m %z23.s -> %z21.h", "fcvt   %p7/m %z31.s -> %z31.h",
+    };
+    TEST_LOOP(fcvt, fcvt_sve_pred, 6, expected_5_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+}
+
+TEST_INSTR(fcvtzs_sve_pred)
+{
+    /* Testing FCVTZS  <Zd>.S, <Pg>/M, <Zn>.D */
+    const char *const expected_0_0[6] = {
+        "fcvtzs %p0/m %z0.d -> %z0.s",   "fcvtzs %p2/m %z7.d -> %z5.s",
+        "fcvtzs %p3/m %z12.d -> %z10.s", "fcvtzs %p5/m %z18.d -> %z16.s",
+        "fcvtzs %p6/m %z23.d -> %z21.s", "fcvtzs %p7/m %z31.d -> %z31.s",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing FCVTZS  <Zd>.D, <Pg>/M, <Zn>.D */
+    const char *const expected_1_0[6] = {
+        "fcvtzs %p0/m %z0.d -> %z0.d",   "fcvtzs %p2/m %z7.d -> %z5.d",
+        "fcvtzs %p3/m %z12.d -> %z10.d", "fcvtzs %p5/m %z18.d -> %z16.d",
+        "fcvtzs %p6/m %z23.d -> %z21.d", "fcvtzs %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_1_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing FCVTZS  <Zd>.H, <Pg>/M, <Zn>.H */
+    const char *const expected_2_0[6] = {
+        "fcvtzs %p0/m %z0.h -> %z0.h",   "fcvtzs %p2/m %z7.h -> %z5.h",
+        "fcvtzs %p3/m %z12.h -> %z10.h", "fcvtzs %p5/m %z18.h -> %z16.h",
+        "fcvtzs %p6/m %z23.h -> %z21.h", "fcvtzs %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_2_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVTZS  <Zd>.S, <Pg>/M, <Zn>.H */
+    const char *const expected_3_0[6] = {
+        "fcvtzs %p0/m %z0.h -> %z0.s",   "fcvtzs %p2/m %z7.h -> %z5.s",
+        "fcvtzs %p3/m %z12.h -> %z10.s", "fcvtzs %p5/m %z18.h -> %z16.s",
+        "fcvtzs %p6/m %z23.h -> %z21.s", "fcvtzs %p7/m %z31.h -> %z31.s",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_3_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVTZS  <Zd>.D, <Pg>/M, <Zn>.H */
+    const char *const expected_4_0[6] = {
+        "fcvtzs %p0/m %z0.h -> %z0.d",   "fcvtzs %p2/m %z7.h -> %z5.d",
+        "fcvtzs %p3/m %z12.h -> %z10.d", "fcvtzs %p5/m %z18.h -> %z16.d",
+        "fcvtzs %p6/m %z23.h -> %z21.d", "fcvtzs %p7/m %z31.h -> %z31.d",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_4_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVTZS  <Zd>.S, <Pg>/M, <Zn>.S */
+    const char *const expected_5_0[6] = {
+        "fcvtzs %p0/m %z0.s -> %z0.s",   "fcvtzs %p2/m %z7.s -> %z5.s",
+        "fcvtzs %p3/m %z12.s -> %z10.s", "fcvtzs %p5/m %z18.s -> %z16.s",
+        "fcvtzs %p6/m %z23.s -> %z21.s", "fcvtzs %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_5_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing FCVTZS  <Zd>.D, <Pg>/M, <Zn>.S */
+    const char *const expected_6_0[6] = {
+        "fcvtzs %p0/m %z0.s -> %z0.d",   "fcvtzs %p2/m %z7.s -> %z5.d",
+        "fcvtzs %p3/m %z12.s -> %z10.d", "fcvtzs %p5/m %z18.s -> %z16.d",
+        "fcvtzs %p6/m %z23.s -> %z21.d", "fcvtzs %p7/m %z31.s -> %z31.d",
+    };
+    TEST_LOOP(fcvtzs, fcvtzs_sve_pred, 6, expected_6_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+}
+
+TEST_INSTR(fcvtzu_sve_pred)
+{
+    /* Testing FCVTZU  <Zd>.S, <Pg>/M, <Zn>.D */
+    const char *const expected_0_0[6] = {
+        "fcvtzu %p0/m %z0.d -> %z0.s",   "fcvtzu %p2/m %z7.d -> %z5.s",
+        "fcvtzu %p3/m %z12.d -> %z10.s", "fcvtzu %p5/m %z18.d -> %z16.s",
+        "fcvtzu %p6/m %z23.d -> %z21.s", "fcvtzu %p7/m %z31.d -> %z31.s",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing FCVTZU  <Zd>.D, <Pg>/M, <Zn>.D */
+    const char *const expected_1_0[6] = {
+        "fcvtzu %p0/m %z0.d -> %z0.d",   "fcvtzu %p2/m %z7.d -> %z5.d",
+        "fcvtzu %p3/m %z12.d -> %z10.d", "fcvtzu %p5/m %z18.d -> %z16.d",
+        "fcvtzu %p6/m %z23.d -> %z21.d", "fcvtzu %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_1_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing FCVTZU  <Zd>.H, <Pg>/M, <Zn>.H */
+    const char *const expected_2_0[6] = {
+        "fcvtzu %p0/m %z0.h -> %z0.h",   "fcvtzu %p2/m %z7.h -> %z5.h",
+        "fcvtzu %p3/m %z12.h -> %z10.h", "fcvtzu %p5/m %z18.h -> %z16.h",
+        "fcvtzu %p6/m %z23.h -> %z21.h", "fcvtzu %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_2_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVTZU  <Zd>.S, <Pg>/M, <Zn>.H */
+    const char *const expected_3_0[6] = {
+        "fcvtzu %p0/m %z0.h -> %z0.s",   "fcvtzu %p2/m %z7.h -> %z5.s",
+        "fcvtzu %p3/m %z12.h -> %z10.s", "fcvtzu %p5/m %z18.h -> %z16.s",
+        "fcvtzu %p6/m %z23.h -> %z21.s", "fcvtzu %p7/m %z31.h -> %z31.s",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_3_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVTZU  <Zd>.D, <Pg>/M, <Zn>.H */
+    const char *const expected_4_0[6] = {
+        "fcvtzu %p0/m %z0.h -> %z0.d",   "fcvtzu %p2/m %z7.h -> %z5.d",
+        "fcvtzu %p3/m %z12.h -> %z10.d", "fcvtzu %p5/m %z18.h -> %z16.d",
+        "fcvtzu %p6/m %z23.h -> %z21.d", "fcvtzu %p7/m %z31.h -> %z31.d",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_4_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing FCVTZU  <Zd>.S, <Pg>/M, <Zn>.S */
+    const char *const expected_5_0[6] = {
+        "fcvtzu %p0/m %z0.s -> %z0.s",   "fcvtzu %p2/m %z7.s -> %z5.s",
+        "fcvtzu %p3/m %z12.s -> %z10.s", "fcvtzu %p5/m %z18.s -> %z16.s",
+        "fcvtzu %p6/m %z23.s -> %z21.s", "fcvtzu %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_5_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing FCVTZU  <Zd>.D, <Pg>/M, <Zn>.S */
+    const char *const expected_6_0[6] = {
+        "fcvtzu %p0/m %z0.s -> %z0.d",   "fcvtzu %p2/m %z7.s -> %z5.d",
+        "fcvtzu %p3/m %z12.s -> %z10.d", "fcvtzu %p5/m %z18.s -> %z16.d",
+        "fcvtzu %p6/m %z23.s -> %z21.d", "fcvtzu %p7/m %z31.s -> %z31.d",
+    };
+    TEST_LOOP(fcvtzu, fcvtzu_sve_pred, 6, expected_6_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+}
+
+TEST_INSTR(frinta_sve_pred)
+{
+    /* Testing FRINTA  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frinta %p0/m %z0.h -> %z0.h",   "frinta %p2/m %z7.h -> %z5.h",
+        "frinta %p3/m %z12.h -> %z10.h", "frinta %p5/m %z18.h -> %z16.h",
+        "frinta %p6/m %z23.h -> %z21.h", "frinta %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frinta, frinta_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frinta %p0/m %z0.s -> %z0.s",   "frinta %p2/m %z7.s -> %z5.s",
+        "frinta %p3/m %z12.s -> %z10.s", "frinta %p5/m %z18.s -> %z16.s",
+        "frinta %p6/m %z23.s -> %z21.s", "frinta %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frinta, frinta_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frinta %p0/m %z0.d -> %z0.d",   "frinta %p2/m %z7.d -> %z5.d",
+        "frinta %p3/m %z12.d -> %z10.d", "frinta %p5/m %z18.d -> %z16.d",
+        "frinta %p6/m %z23.d -> %z21.d", "frinta %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frinta, frinta_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(frinti_sve_pred)
+{
+    /* Testing FRINTI  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frinti %p0/m %z0.h -> %z0.h",   "frinti %p2/m %z7.h -> %z5.h",
+        "frinti %p3/m %z12.h -> %z10.h", "frinti %p5/m %z18.h -> %z16.h",
+        "frinti %p6/m %z23.h -> %z21.h", "frinti %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frinti, frinti_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frinti %p0/m %z0.s -> %z0.s",   "frinti %p2/m %z7.s -> %z5.s",
+        "frinti %p3/m %z12.s -> %z10.s", "frinti %p5/m %z18.s -> %z16.s",
+        "frinti %p6/m %z23.s -> %z21.s", "frinti %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frinti, frinti_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frinti %p0/m %z0.d -> %z0.d",   "frinti %p2/m %z7.d -> %z5.d",
+        "frinti %p3/m %z12.d -> %z10.d", "frinti %p5/m %z18.d -> %z16.d",
+        "frinti %p6/m %z23.d -> %z21.d", "frinti %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frinti, frinti_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(frintm_sve_pred)
+{
+    /* Testing FRINTM  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frintm %p0/m %z0.h -> %z0.h",   "frintm %p2/m %z7.h -> %z5.h",
+        "frintm %p3/m %z12.h -> %z10.h", "frintm %p5/m %z18.h -> %z16.h",
+        "frintm %p6/m %z23.h -> %z21.h", "frintm %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frintm, frintm_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frintm %p0/m %z0.s -> %z0.s",   "frintm %p2/m %z7.s -> %z5.s",
+        "frintm %p3/m %z12.s -> %z10.s", "frintm %p5/m %z18.s -> %z16.s",
+        "frintm %p6/m %z23.s -> %z21.s", "frintm %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frintm, frintm_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frintm %p0/m %z0.d -> %z0.d",   "frintm %p2/m %z7.d -> %z5.d",
+        "frintm %p3/m %z12.d -> %z10.d", "frintm %p5/m %z18.d -> %z16.d",
+        "frintm %p6/m %z23.d -> %z21.d", "frintm %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frintm, frintm_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(frintn_sve_pred)
+{
+
+    /* Testing FRINTN  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frintn %p0/m %z0.h -> %z0.h",   "frintn %p2/m %z7.h -> %z5.h",
+        "frintn %p3/m %z12.h -> %z10.h", "frintn %p5/m %z18.h -> %z16.h",
+        "frintn %p6/m %z23.h -> %z21.h", "frintn %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frintn, frintn_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frintn %p0/m %z0.s -> %z0.s",   "frintn %p2/m %z7.s -> %z5.s",
+        "frintn %p3/m %z12.s -> %z10.s", "frintn %p5/m %z18.s -> %z16.s",
+        "frintn %p6/m %z23.s -> %z21.s", "frintn %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frintn, frintn_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frintn %p0/m %z0.d -> %z0.d",   "frintn %p2/m %z7.d -> %z5.d",
+        "frintn %p3/m %z12.d -> %z10.d", "frintn %p5/m %z18.d -> %z16.d",
+        "frintn %p6/m %z23.d -> %z21.d", "frintn %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frintn, frintn_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(frintp_sve_pred)
+{
+    /* Testing FRINTP  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frintp %p0/m %z0.h -> %z0.h",   "frintp %p2/m %z7.h -> %z5.h",
+        "frintp %p3/m %z12.h -> %z10.h", "frintp %p5/m %z18.h -> %z16.h",
+        "frintp %p6/m %z23.h -> %z21.h", "frintp %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frintp, frintp_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frintp %p0/m %z0.s -> %z0.s",   "frintp %p2/m %z7.s -> %z5.s",
+        "frintp %p3/m %z12.s -> %z10.s", "frintp %p5/m %z18.s -> %z16.s",
+        "frintp %p6/m %z23.s -> %z21.s", "frintp %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frintp, frintp_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frintp %p0/m %z0.d -> %z0.d",   "frintp %p2/m %z7.d -> %z5.d",
+        "frintp %p3/m %z12.d -> %z10.d", "frintp %p5/m %z18.d -> %z16.d",
+        "frintp %p6/m %z23.d -> %z21.d", "frintp %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frintp, frintp_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(frintx_sve_pred)
+{
+
+    /* Testing FRINTX  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frintx %p0/m %z0.h -> %z0.h",   "frintx %p2/m %z7.h -> %z5.h",
+        "frintx %p3/m %z12.h -> %z10.h", "frintx %p5/m %z18.h -> %z16.h",
+        "frintx %p6/m %z23.h -> %z21.h", "frintx %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frintx, frintx_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frintx %p0/m %z0.s -> %z0.s",   "frintx %p2/m %z7.s -> %z5.s",
+        "frintx %p3/m %z12.s -> %z10.s", "frintx %p5/m %z18.s -> %z16.s",
+        "frintx %p6/m %z23.s -> %z21.s", "frintx %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frintx, frintx_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frintx %p0/m %z0.d -> %z0.d",   "frintx %p2/m %z7.d -> %z5.d",
+        "frintx %p3/m %z12.d -> %z10.d", "frintx %p5/m %z18.d -> %z16.d",
+        "frintx %p6/m %z23.d -> %z21.d", "frintx %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frintx, frintx_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(frintz_sve_pred)
+{
+    /* Testing FRINTZ  <Zd>.<Ts>, <Pg>/M, <Zn>.<Ts> */
+    const char *const expected_0_0[6] = {
+        "frintz %p0/m %z0.h -> %z0.h",   "frintz %p2/m %z7.h -> %z5.h",
+        "frintz %p3/m %z12.h -> %z10.h", "frintz %p5/m %z18.h -> %z16.h",
+        "frintz %p6/m %z23.h -> %z21.h", "frintz %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(frintz, frintz_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    const char *const expected_0_1[6] = {
+        "frintz %p0/m %z0.s -> %z0.s",   "frintz %p2/m %z7.s -> %z5.s",
+        "frintz %p3/m %z12.s -> %z10.s", "frintz %p5/m %z18.s -> %z16.s",
+        "frintz %p6/m %z23.s -> %z21.s", "frintz %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(frintz, frintz_sve_pred, 6, expected_0_1[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    const char *const expected_0_2[6] = {
+        "frintz %p0/m %z0.d -> %z0.d",   "frintz %p2/m %z7.d -> %z5.d",
+        "frintz %p3/m %z12.d -> %z10.d", "frintz %p5/m %z18.d -> %z16.d",
+        "frintz %p6/m %z23.d -> %z21.d", "frintz %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(frintz, frintz_sve_pred, 6, expected_0_2[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(scvtf_sve_pred)
+{
+    /* Testing SCVTF   <Zd>.H, <Pg>/M, <Zn>.H */
+    const char *const expected_0_0[6] = {
+        "scvtf  %p0/m %z0.h -> %z0.h",   "scvtf  %p2/m %z7.h -> %z5.h",
+        "scvtf  %p3/m %z12.h -> %z10.h", "scvtf  %p5/m %z18.h -> %z16.h",
+        "scvtf  %p6/m %z23.h -> %z21.h", "scvtf  %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing SCVTF   <Zd>.D, <Pg>/M, <Zn>.S */
+    const char *const expected_1_0[6] = {
+        "scvtf  %p0/m %z0.s -> %z0.d",   "scvtf  %p2/m %z7.s -> %z5.d",
+        "scvtf  %p3/m %z12.s -> %z10.d", "scvtf  %p5/m %z18.s -> %z16.d",
+        "scvtf  %p6/m %z23.s -> %z21.d", "scvtf  %p7/m %z31.s -> %z31.d",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_1_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing SCVTF   <Zd>.H, <Pg>/M, <Zn>.S */
+    const char *const expected_2_0[6] = {
+        "scvtf  %p0/m %z0.s -> %z0.h",   "scvtf  %p2/m %z7.s -> %z5.h",
+        "scvtf  %p3/m %z12.s -> %z10.h", "scvtf  %p5/m %z18.s -> %z16.h",
+        "scvtf  %p6/m %z23.s -> %z21.h", "scvtf  %p7/m %z31.s -> %z31.h",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_2_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing SCVTF   <Zd>.S, <Pg>/M, <Zn>.S */
+    const char *const expected_3_0[6] = {
+        "scvtf  %p0/m %z0.s -> %z0.s",   "scvtf  %p2/m %z7.s -> %z5.s",
+        "scvtf  %p3/m %z12.s -> %z10.s", "scvtf  %p5/m %z18.s -> %z16.s",
+        "scvtf  %p6/m %z23.s -> %z21.s", "scvtf  %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_3_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing SCVTF   <Zd>.D, <Pg>/M, <Zn>.D */
+    const char *const expected_4_0[6] = {
+        "scvtf  %p0/m %z0.d -> %z0.d",   "scvtf  %p2/m %z7.d -> %z5.d",
+        "scvtf  %p3/m %z12.d -> %z10.d", "scvtf  %p5/m %z18.d -> %z16.d",
+        "scvtf  %p6/m %z23.d -> %z21.d", "scvtf  %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_4_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing SCVTF   <Zd>.H, <Pg>/M, <Zn>.D */
+    const char *const expected_5_0[6] = {
+        "scvtf  %p0/m %z0.d -> %z0.h",   "scvtf  %p2/m %z7.d -> %z5.h",
+        "scvtf  %p3/m %z12.d -> %z10.h", "scvtf  %p5/m %z18.d -> %z16.h",
+        "scvtf  %p6/m %z23.d -> %z21.h", "scvtf  %p7/m %z31.d -> %z31.h",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_5_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing SCVTF   <Zd>.S, <Pg>/M, <Zn>.D */
+    const char *const expected_6_0[6] = {
+        "scvtf  %p0/m %z0.d -> %z0.s",   "scvtf  %p2/m %z7.d -> %z5.s",
+        "scvtf  %p3/m %z12.d -> %z10.s", "scvtf  %p5/m %z18.d -> %z16.s",
+        "scvtf  %p6/m %z23.d -> %z21.s", "scvtf  %p7/m %z31.d -> %z31.s",
+    };
+    TEST_LOOP(scvtf, scvtf_sve_pred, 6, expected_6_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
+TEST_INSTR(ucvtf_sve_pred)
+{
+    /* Testing UCVTF   <Zd>.H, <Pg>/M, <Zn>.H */
+    const char *const expected_0_0[6] = {
+        "ucvtf  %p0/m %z0.h -> %z0.h",   "ucvtf  %p2/m %z7.h -> %z5.h",
+        "ucvtf  %p3/m %z12.h -> %z10.h", "ucvtf  %p5/m %z18.h -> %z16.h",
+        "ucvtf  %p6/m %z23.h -> %z21.h", "ucvtf  %p7/m %z31.h -> %z31.h",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_0_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_2));
+
+    /* Testing UCVTF   <Zd>.D, <Pg>/M, <Zn>.S */
+    const char *const expected_1_0[6] = {
+        "ucvtf  %p0/m %z0.s -> %z0.d",   "ucvtf  %p2/m %z7.s -> %z5.d",
+        "ucvtf  %p3/m %z12.s -> %z10.d", "ucvtf  %p5/m %z18.s -> %z16.d",
+        "ucvtf  %p6/m %z23.s -> %z21.d", "ucvtf  %p7/m %z31.s -> %z31.d",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_1_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing UCVTF   <Zd>.H, <Pg>/M, <Zn>.S */
+    const char *const expected_2_0[6] = {
+        "ucvtf  %p0/m %z0.s -> %z0.h",   "ucvtf  %p2/m %z7.s -> %z5.h",
+        "ucvtf  %p3/m %z12.s -> %z10.h", "ucvtf  %p5/m %z18.s -> %z16.h",
+        "ucvtf  %p6/m %z23.s -> %z21.h", "ucvtf  %p7/m %z31.s -> %z31.h",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_2_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing UCVTF   <Zd>.S, <Pg>/M, <Zn>.S */
+    const char *const expected_3_0[6] = {
+        "ucvtf  %p0/m %z0.s -> %z0.s",   "ucvtf  %p2/m %z7.s -> %z5.s",
+        "ucvtf  %p3/m %z12.s -> %z10.s", "ucvtf  %p5/m %z18.s -> %z16.s",
+        "ucvtf  %p6/m %z23.s -> %z21.s", "ucvtf  %p7/m %z31.s -> %z31.s",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_3_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_4));
+
+    /* Testing UCVTF   <Zd>.D, <Pg>/M, <Zn>.D */
+    const char *const expected_4_0[6] = {
+        "ucvtf  %p0/m %z0.d -> %z0.d",   "ucvtf  %p2/m %z7.d -> %z5.d",
+        "ucvtf  %p3/m %z12.d -> %z10.d", "ucvtf  %p5/m %z18.d -> %z16.d",
+        "ucvtf  %p6/m %z23.d -> %z21.d", "ucvtf  %p7/m %z31.d -> %z31.d",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_4_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_8),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing UCVTF   <Zd>.H, <Pg>/M, <Zn>.D */
+    const char *const expected_5_0[6] = {
+        "ucvtf  %p0/m %z0.d -> %z0.h",   "ucvtf  %p2/m %z7.d -> %z5.h",
+        "ucvtf  %p3/m %z12.d -> %z10.h", "ucvtf  %p5/m %z18.d -> %z16.h",
+        "ucvtf  %p6/m %z23.d -> %z21.h", "ucvtf  %p7/m %z31.d -> %z31.h",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_5_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_2),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+
+    /* Testing UCVTF   <Zd>.S, <Pg>/M, <Zn>.D */
+    const char *const expected_6_0[6] = {
+        "ucvtf  %p0/m %z0.d -> %z0.s",   "ucvtf  %p2/m %z7.d -> %z5.s",
+        "ucvtf  %p3/m %z12.d -> %z10.s", "ucvtf  %p5/m %z18.d -> %z16.s",
+        "ucvtf  %p6/m %z23.d -> %z21.s", "ucvtf  %p7/m %z31.d -> %z31.s",
+    };
+    TEST_LOOP(ucvtf, ucvtf_sve_pred, 6, expected_6_0[i],
+              opnd_create_reg_element_vector(Zn_six_offset_0[i], OPSZ_4),
+              opnd_create_predicate_reg(Pn_half_six_offset_0[i], true),
+              opnd_create_reg_element_vector(Zn_six_offset_2[i], OPSZ_8));
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -11563,6 +12192,19 @@ main(int argc, char *argv[])
     RUN_INSTR_TEST(ld1rsh_sve);
     RUN_INSTR_TEST(ld1rsw_sve);
 
+    RUN_INSTR_TEST(fcvt_sve_pred);
+    RUN_INSTR_TEST(fcvtzs_sve_pred);
+    RUN_INSTR_TEST(fcvtzu_sve_pred);
+    RUN_INSTR_TEST(frinta_sve_pred);
+    RUN_INSTR_TEST(frinti_sve_pred);
+    RUN_INSTR_TEST(frintm_sve_pred);
+    RUN_INSTR_TEST(frintn_sve_pred);
+    RUN_INSTR_TEST(frintp_sve_pred);
+    RUN_INSTR_TEST(frintx_sve_pred);
+    RUN_INSTR_TEST(frintz_sve_pred);
+    RUN_INSTR_TEST(scvtf_sve_pred);
+    RUN_INSTR_TEST(ucvtf_sve_pred);
+
     print("All sve tests complete.\n");
 #ifndef STANDALONE_DECODER
     dr_standalone_exit();