test_cases:
  -
    input:
      bytes: [ 0xdd, 0x9f, 0x2d, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sve2" ]
    expected:
      insns:
        -
          asm_text: "splice z29.b, p7, { z30.b, z31.b }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0x6d, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sve2" ]
    expected:
      insns:
        -
          asm_text: "splice z29.h, p7, { z30.h, z31.h }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0xad, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sve2" ]
    expected:
      insns:
        -
          asm_text: "splice z29.s, p7, { z30.s, z31.s }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0xed, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sve2" ]
    expected:
      insns:
        -
          asm_text: "splice z29.d, p7, { z30.d, z31.d }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0x2d, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "splice z29.b, p7, { z30.b, z31.b }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0x6d, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "splice z29.h, p7, { z30.h, z31.h }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0xad, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "splice z29.s, p7, { z30.s, z31.s }"

  -
    input:
      bytes: [ 0xdd, 0x9f, 0xed, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "splice z29.d, p7, { z30.d, z31.d }"
