opcodes: introduce SVP64 headers
authorDmitry Selyutin <ghostmansd@gmail.com>
Sun, 28 May 2023 22:04:56 +0000 (01:04 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Wed, 9 Aug 2023 16:52:08 +0000 (19:52 +0300)
include/opcode/ppc-svp64-gen.h [new file with mode: 0644]
include/opcode/ppc-svp64.h [new file with mode: 0644]
include/opcode/ppc.h

diff --git a/include/opcode/ppc-svp64-gen.h b/include/opcode/ppc-svp64-gen.h
new file mode 100644 (file)
index 0000000..843a918
--- /dev/null
@@ -0,0 +1,14466 @@
+/* include/opcode/ppc-svp64-gen.h -- Header file for PowerPC opcode table (SVP64 extensions)
+   Copyright (C) 2022 Free Software Foundation, Inc.
+   Written by Dmitry Selyutin (ghostmansd).
+   Sponsored by NLnet and NGI POINTER under EU Grants 871528 and 957073.
+
+   This file is part of the GNU opcodes library.
+
+   This library is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this file; see the file COPYING.  If not, write to the
+   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA. */
+
+#ifndef PPC_SVP64_GEN_H
+#define PPC_SVP64_GEN_H
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum svp64_in1_sel {
+  SVP64_IN1_SEL_NONE,
+  SVP64_IN1_SEL_RA,
+  SVP64_IN1_SEL_RA_OR_ZERO,
+  SVP64_IN1_SEL_SPR,
+  SVP64_IN1_SEL_RS,
+  SVP64_IN1_SEL_FRA,
+  SVP64_IN1_SEL_FRS,
+  SVP64_IN1_SEL_FRT,
+  SVP64_IN1_SEL_CIA,
+  SVP64_IN1_SEL_RT,
+};
+
+enum svp64_in2_sel {
+  SVP64_IN2_SEL_NONE,
+  SVP64_IN2_SEL_RB,
+  SVP64_IN2_SEL_CONST_UI,
+  SVP64_IN2_SEL_CONST_SI,
+  SVP64_IN2_SEL_CONST_UI_HI,
+  SVP64_IN2_SEL_CONST_SI_HI,
+  SVP64_IN2_SEL_CONST_LI,
+  SVP64_IN2_SEL_CONST_BD,
+  SVP64_IN2_SEL_CONST_DS,
+  SVP64_IN2_SEL_CONST_M1,
+  SVP64_IN2_SEL_CONST_SH,
+  SVP64_IN2_SEL_CONST_SH32,
+  SVP64_IN2_SEL_SPR,
+  SVP64_IN2_SEL_RS,
+  SVP64_IN2_SEL_FRB,
+  SVP64_IN2_SEL_CONST_SVD,
+  SVP64_IN2_SEL_CONST_SVDS,
+  SVP64_IN2_SEL_CONST_XBI,
+  SVP64_IN2_SEL_CONST_DXHI4,
+  SVP64_IN2_SEL_CONST_DQ,
+};
+
+enum svp64_in3_sel {
+  SVP64_IN3_SEL_NONE,
+  SVP64_IN3_SEL_RS,
+  SVP64_IN3_SEL_RB,
+  SVP64_IN3_SEL_FRS,
+  SVP64_IN3_SEL_FRC,
+  SVP64_IN3_SEL_RC,
+  SVP64_IN3_SEL_RT,
+  SVP64_IN3_SEL_FRA,
+};
+
+enum svp64_out_sel {
+  SVP64_OUT_SEL_NONE,
+  SVP64_OUT_SEL_RT,
+  SVP64_OUT_SEL_RA,
+  SVP64_OUT_SEL_SPR,
+  SVP64_OUT_SEL_RT_OR_ZERO,
+  SVP64_OUT_SEL_FRT,
+  SVP64_OUT_SEL_FRS,
+  SVP64_OUT_SEL_RS,
+  SVP64_OUT_SEL_FRA,
+};
+
+enum svp64_cr_in_sel {
+  SVP64_CR_IN_SEL_NONE,
+  SVP64_CR_IN_SEL_CR0,
+  SVP64_CR_IN_SEL_BI,
+  SVP64_CR_IN_SEL_BFA,
+  SVP64_CR_IN_SEL_BA_BB,
+  SVP64_CR_IN_SEL_BC,
+  SVP64_CR_IN_SEL_WHOLE_REG,
+  SVP64_CR_IN_SEL_CR1,
+  SVP64_CR_IN_SEL_BA,
+};
+
+enum svp64_cr_in2_sel {
+  SVP64_CR_IN2_SEL_NONE,
+  SVP64_CR_IN2_SEL_BB,
+};
+
+enum svp64_cr_out_sel {
+  SVP64_CR_OUT_SEL_NONE,
+  SVP64_CR_OUT_SEL_CR0,
+  SVP64_CR_OUT_SEL_BF,
+  SVP64_CR_OUT_SEL_BT,
+  SVP64_CR_OUT_SEL_WHOLE_REG,
+  SVP64_CR_OUT_SEL_CR1,
+};
+
+enum svp64_ptype {
+  SVP64_PTYPE_NONE,
+  SVP64_PTYPE_P1,
+  SVP64_PTYPE_P2,
+  SVP64_PTYPE_P2M,
+};
+
+enum svp64_etype {
+  SVP64_ETYPE_EXTRA2,
+  SVP64_ETYPE_EXTRA3,
+  SVP64_ETYPE_EXTRA32,
+};
+
+enum svp64_extra {
+  SVP64_EXTRA_NONE,
+  SVP64_EXTRA_IDX0,
+  SVP64_EXTRA_IDX1,
+  SVP64_EXTRA_IDX2,
+  SVP64_EXTRA_IDX3,
+};
+
+enum svp64_mode {
+  SVP64_MODE_NONE,
+  SVP64_MODE_NORMAL,
+  SVP64_MODE_LDST_IDX,
+  SVP64_MODE_LDST_IMM,
+  SVP64_MODE_BRANCH,
+  SVP64_MODE_CROP,
+};
+
+/* SVP64_MODE constants */
+#define SVP64_MODE_MOD2_MSB 0x00000004U
+#define SVP64_MODE_MOD2_LSB 0x00000003U
+#define SVP64_MODE_MOD3 0x00000001U
+#define SVP64_MODE_SEA 0x00000002U
+#define SVP64_MODE_DZ 0x00000001U
+#define SVP64_MODE_SZ 0x00000000U
+#define SVP64_MODE_ZZ 0x00000001U
+#define SVP64_MODE_BC_SNZ 0x00000001U
+#define SVP64_MODE_BC_VLI 0x00000002U
+#define SVP64_MODE_BC_VLSET 0x00000003U
+#define SVP64_MODE_BC_CTRTEST 0x00000004U
+#define SVP64_MODE_REDUCE 0x00000002U
+#define SVP64_MODE_CRM 0x00000000U
+#define SVP64_MODE_RG 0x00000000U
+#define SVP64_MODE_CROP_RG 0x00000001U
+#define SVP64_MODE_N 0x00000002U
+#define SVP64_MODE_INV 0x00000002U
+#define SVP64_MODE_CR_MSB 0x00000001U
+#define SVP64_MODE_CR_LSB 0x00000000U
+#define SVP64_MODE_VLI 0x00000004U
+#define SVP64_MODE_RC1 0x00000000U
+#define SVP64_MODE_ELS_NORMAL 0x00000000U
+#define SVP64_MODE_ELS_FFIRST_PRED 0x00000001U
+#define SVP64_MODE_LDI_PI 0x00000002U
+#define SVP64_MODE_LDI_FF 0x00000000U
+#define SVP64_MODE_LDST_ELS 0x00000004U
+#define SVP64_MODE_LDST_VLI 0x00000004U
+#define SVP64_MODE_BO_MSB 0x00000002U
+#define SVP64_MODE_BO_LSB 0x00000000U
+
+struct svp64_insn {
+  uint64_t value;
+};
+
+static inline uint64_t
+svp64_insn_get(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(23)) |
+    (((value >> UINT64_C(24)) & UINT64_C(1)) << UINT64_C(24)) |
+    (((value >> UINT64_C(25)) & UINT64_C(1)) << UINT64_C(25)) |
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(31)) |
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(54)) & UINT64_C(1)) << UINT64_C(54)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(56)) & UINT64_C(1)) << UINT64_C(56)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(57)) |
+    (((value >> UINT64_C(58)) & UINT64_C(1)) << UINT64_C(58)) |
+    (((value >> UINT64_C(59)) & UINT64_C(1)) << UINT64_C(59)) |
+    (((value >> UINT64_C(60)) & UINT64_C(1)) << UINT64_C(60)) |
+    (((value >> UINT64_C(61)) & UINT64_C(1)) << UINT64_C(61)) |
+    (((value >> UINT64_C(62)) & UINT64_C(1)) << UINT64_C(62)) |
+    (((value >> UINT64_C(63)) & UINT64_C(1)) << UINT64_C(63))
+  );
+}
+
+static inline void
+svp64_insn_set(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0x0000000000000000);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(23)) |
+    (((value >> UINT64_C(24)) & UINT64_C(1)) << UINT64_C(24)) |
+    (((value >> UINT64_C(25)) & UINT64_C(1)) << UINT64_C(25)) |
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(31)) |
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(54)) & UINT64_C(1)) << UINT64_C(54)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(56)) & UINT64_C(1)) << UINT64_C(56)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(57)) |
+    (((value >> UINT64_C(58)) & UINT64_C(1)) << UINT64_C(58)) |
+    (((value >> UINT64_C(59)) & UINT64_C(1)) << UINT64_C(59)) |
+    (((value >> UINT64_C(60)) & UINT64_C(1)) << UINT64_C(60)) |
+    (((value >> UINT64_C(61)) & UINT64_C(1)) << UINT64_C(61)) |
+    (((value >> UINT64_C(62)) & UINT64_C(1)) << UINT64_C(62)) |
+    (((value >> UINT64_C(63)) & UINT64_C(1)) << UINT64_C(63))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(54)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(23)) |
+    (((value >> UINT64_C(56)) & UINT64_C(1)) << UINT64_C(24)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(25)) |
+    (((value >> UINT64_C(58)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(59)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(60)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(61)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(62)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(63)) & UINT64_C(1)) << UINT64_C(31))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0x00000000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(54)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(24)) & UINT64_C(1)) << UINT64_C(56)) |
+    (((value >> UINT64_C(25)) & UINT64_C(1)) << UINT64_C(57)) |
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(58)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(59)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(60)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(61)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(62)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(63))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_PO(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(58)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(59)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(60)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(61)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(62)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(63)) & UINT64_C(1)) << UINT64_C(5))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_PO(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0x03ffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(58)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(59)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(60)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(61)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(62)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(63))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_id(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(54)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(56)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_id(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfebfffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(54)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(56))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_simple_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_simple_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_mr_RG(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_mr_RG(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc1_CR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc1_CR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffcffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_ffrc0_RC1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_ffrc0_RC1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_N(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_N(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_normal_sat_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_normal_sat_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_pi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_pi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_lf(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_lf(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_zz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_zz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_els(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_els(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_simple_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_simple_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc1_CR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc1_CR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffcffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_imm_ffrc0_RC1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_imm_ffrc0_RC1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_pi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_pi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_els(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_els(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_SEA(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_SEA(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_zz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_zz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_simple_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_simple_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc1_CR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc1_CR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffcffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_ldst_idx_ffrc0_RC1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_ldst_idx_ffrc0_RC1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_RG(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_RG(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_simple_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_simple_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_RG(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_RG(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_mr_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_mr_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_CR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_CR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffcffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff3_zz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff3_zz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffdffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_inv(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_inv(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_dz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_dz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_crop_ff5_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_crop_ff5_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ALL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ALL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff7ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffbffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_SL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_SL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffbfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_SLu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_SLu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffdfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_LRu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_LRu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_CTR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_CTR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_VLS(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_VLS(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffff7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_ALL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_ALL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff7ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffbffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_SL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_SL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffbfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_SLu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_SLu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffdfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_LRu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_LRu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_CTR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_CTR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_simple_VLS(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_simple_VLS(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffff7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_ALL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_ALL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff7ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffbffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_SL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_SL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffbfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_SLu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_SLu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffdfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_LRu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_LRu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_CTR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_CTR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_VLS(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_VLS(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffff7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_VSb(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_VSb(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_vls_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_vls_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_ALL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_ALL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff7ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffbffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_SL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_SL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffbfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_SLu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_SLu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffdfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_LRu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_LRu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_CTR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_CTR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_VLS(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_VLS(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffff7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctr_CTi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctr_CTi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffdffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(23))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfd400000ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(45)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(47)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(49)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(51)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(55)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_mmode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(57)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_mmode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfdffffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(57))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_mask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(52)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(53)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(55)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_mask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xff4fffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(52)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(53)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(55))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_elwidth(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_elwidth(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff3ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_ewsrc(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_ewsrc(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffcffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_subvl(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(46)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(47)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_subvl(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffff3fffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(46)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(47))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_mode(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(4))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_mode(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe0ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(33)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(34)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_mode_sel(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_mode_sel(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffe7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_smask(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_smask(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra2_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra2_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffcfffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra2_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra2_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff3ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(43))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra2_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra2_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffcffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra2_idx3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(1))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra2_idx3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff3fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra3(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(8))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra3(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc01fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(42)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra3_idx0(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(43)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(44)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(45)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra3_idx0(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffc7ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(43)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(44)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(45))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra3_idx1(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(40)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(41)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(42)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra3_idx1(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffff8ffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(40)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(41)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(42))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_extra3_idx2(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(39)) & UINT64_C(1)) << UINT64_C(2))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_extra3_idx2(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffff1fffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(38)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(39))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_ALL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(51)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_ALL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfff7ffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(51))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_SNZ(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(50)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_SNZ(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffbffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(50))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_SL(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(38)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_SL(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffbfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(38))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_SLu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(37)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_SLu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffdfffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(37))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_LRu(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(33)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_LRu(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffdffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(33))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_sz(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(32)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_sz(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffeffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(32))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_CTR(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(36)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_CTR(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffefffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(36))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_VLS(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(35)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_VLS(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffff7ffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(35))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_VSb(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(48)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_VSb(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffeffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(48))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_VLi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(34)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_VLi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffffffbffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(34))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_prefix_rm_branch_ctrvls_CTi(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(49)) & UINT64_C(1)) << UINT64_C(0))
+  );
+}
+
+static inline void
+svp64_insn_set_prefix_rm_branch_ctrvls_CTi(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xfffdffffffffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(49))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_suffix(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(23)) |
+    (((value >> UINT64_C(24)) & UINT64_C(1)) << UINT64_C(24)) |
+    (((value >> UINT64_C(25)) & UINT64_C(1)) << UINT64_C(25)) |
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(31))
+  );
+}
+
+static inline void
+svp64_insn_set_suffix(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffff00000000);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(5)) |
+    (((value >> UINT64_C(6)) & UINT64_C(1)) << UINT64_C(6)) |
+    (((value >> UINT64_C(7)) & UINT64_C(1)) << UINT64_C(7)) |
+    (((value >> UINT64_C(8)) & UINT64_C(1)) << UINT64_C(8)) |
+    (((value >> UINT64_C(9)) & UINT64_C(1)) << UINT64_C(9)) |
+    (((value >> UINT64_C(10)) & UINT64_C(1)) << UINT64_C(10)) |
+    (((value >> UINT64_C(11)) & UINT64_C(1)) << UINT64_C(11)) |
+    (((value >> UINT64_C(12)) & UINT64_C(1)) << UINT64_C(12)) |
+    (((value >> UINT64_C(13)) & UINT64_C(1)) << UINT64_C(13)) |
+    (((value >> UINT64_C(14)) & UINT64_C(1)) << UINT64_C(14)) |
+    (((value >> UINT64_C(15)) & UINT64_C(1)) << UINT64_C(15)) |
+    (((value >> UINT64_C(16)) & UINT64_C(1)) << UINT64_C(16)) |
+    (((value >> UINT64_C(17)) & UINT64_C(1)) << UINT64_C(17)) |
+    (((value >> UINT64_C(18)) & UINT64_C(1)) << UINT64_C(18)) |
+    (((value >> UINT64_C(19)) & UINT64_C(1)) << UINT64_C(19)) |
+    (((value >> UINT64_C(20)) & UINT64_C(1)) << UINT64_C(20)) |
+    (((value >> UINT64_C(21)) & UINT64_C(1)) << UINT64_C(21)) |
+    (((value >> UINT64_C(22)) & UINT64_C(1)) << UINT64_C(22)) |
+    (((value >> UINT64_C(23)) & UINT64_C(1)) << UINT64_C(23)) |
+    (((value >> UINT64_C(24)) & UINT64_C(1)) << UINT64_C(24)) |
+    (((value >> UINT64_C(25)) & UINT64_C(1)) << UINT64_C(25)) |
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(31))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_suffix_PO(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(5))
+  );
+}
+
+static inline void
+svp64_insn_set_suffix_PO(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffff03ffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(31))
+  );
+}
+
+static inline uint64_t
+svp64_insn_get_PO(const struct svp64_insn *insn)
+{
+  uint64_t value = insn->value;
+  return (
+    (((value >> UINT64_C(26)) & UINT64_C(1)) << UINT64_C(0)) |
+    (((value >> UINT64_C(27)) & UINT64_C(1)) << UINT64_C(1)) |
+    (((value >> UINT64_C(28)) & UINT64_C(1)) << UINT64_C(2)) |
+    (((value >> UINT64_C(29)) & UINT64_C(1)) << UINT64_C(3)) |
+    (((value >> UINT64_C(30)) & UINT64_C(1)) << UINT64_C(4)) |
+    (((value >> UINT64_C(31)) & UINT64_C(1)) << UINT64_C(5))
+  );
+}
+
+static inline void
+svp64_insn_set_PO(struct svp64_insn *insn, uint64_t value)
+{
+  insn->value &= UINT64_C(0xffffffff03ffffff);
+  insn->value |= (
+    (((value >> UINT64_C(0)) & UINT64_C(1)) << UINT64_C(26)) |
+    (((value >> UINT64_C(1)) & UINT64_C(1)) << UINT64_C(27)) |
+    (((value >> UINT64_C(2)) & UINT64_C(1)) << UINT64_C(28)) |
+    (((value >> UINT64_C(3)) & UINT64_C(1)) << UINT64_C(29)) |
+    (((value >> UINT64_C(4)) & UINT64_C(1)) << UINT64_C(30)) |
+    (((value >> UINT64_C(5)) & UINT64_C(1)) << UINT64_C(31))
+  );
+}
+
+
+struct svp64_desc {
+  uint64_t mode : 3;
+  uint64_t in1 : 4;
+  uint64_t in2 : 5;
+  uint64_t in3 : 4;
+  uint64_t out : 4;
+  uint64_t out2 : 4;
+  uint64_t cr_in : 4;
+  uint64_t cr_in2 : 2;
+  uint64_t cr_out : 3;
+  uint64_t ptype : 3;
+  uint64_t etype : 2;
+  uint64_t extra_idx_in1 : 3;
+  uint64_t extra_idx_in2 : 3;
+  uint64_t extra_idx_in3 : 3;
+  uint64_t extra_idx_out : 3;
+  uint64_t extra_idx_out2 : 3;
+  uint64_t extra_idx_cr_in : 3;
+  uint64_t extra_idx_cr_in2 : 3;
+  uint64_t extra_idx_cr_out : 3;
+  uint64_t Rc : 1;
+  uint64_t : 1;
+};
+
+struct svp64_opcode {
+  uint32_t value;
+  uint32_t mask;
+};
+
+struct svp64_record {
+  const char *name;
+  struct svp64_desc desc;
+  const struct svp64_opcode *opcodes;
+  size_t nr_opcodes;
+};
+
+extern const struct svp64_opcode svp64_opcodes[];
+extern const size_t svp64_nr_opcodes;
+
+extern const struct svp64_record svp64_records[];
+extern const size_t svp64_nr_records;
+
+extern const struct powerpc_pd_reg svp64_regs[];
+extern const size_t svp64_num_regs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* PPC_SVP64_GEN_H */
diff --git a/include/opcode/ppc-svp64.h b/include/opcode/ppc-svp64.h
new file mode 100644 (file)
index 0000000..70cfa88
--- /dev/null
@@ -0,0 +1,36 @@
+/* ppc-svp64.h -- Header file for PowerPC opcode table (SVP64 extensions)
+   Copyright (C) 2022 Free Software Foundation, Inc.
+   Written by Dmitry Selyutin (ghostmansd).
+   Sponsored by NLnet and NGI POINTER under EU Grants 871528 and 957073.
+
+   This file is part of the GNU opcodes library.
+
+   This library is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this file; see the file COPYING.  If not, write to the
+   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA. */
+
+#ifndef PPC_SVP64_H
+#define PPC_SVP64_H
+
+#include "ppc-svp64-gen.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* PPC_SVP64_H */
index e679c2dddea3e62368b943c33b231def958074dc..12a21c5080f2c2224db4e0c13f555dbbdebdd449 100644 (file)
@@ -529,4 +529,6 @@ struct powerpc_pd_reg
 }
 #endif
 
+#include "ppc-svp64.h"
+
 #endif /* PPC_H */