test_cases:
  -
    input:
      bytes: [ 0xb7, 0x09, 0xe8, 0x04 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve", "cpa" ]
    expected:
      insns:
        -
          asm_text: "addpt z23.d, z13.d, z8.d"

  -
    input:
      bytes: [ 0xb7, 0x0d, 0xc4, 0x04 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve", "cpa" ]
    expected:
      insns:
        -
          asm_text: "addpt z23.d, p3/m, z23.d, z13.d"

  -
    input:
      bytes: [ 0xb7, 0x0d, 0xe8, 0x04 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve", "cpa" ]
    expected:
      insns:
        -
          asm_text: "subpt z23.d, z13.d, z8.d"

  -
    input:
      bytes: [ 0xb7, 0x0d, 0xc5, 0x04 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve", "cpa" ]
    expected:
      insns:
        -
          asm_text: "subpt z23.d, p3/m, z23.d, z13.d"

  -
    input:
      bytes: [ 0xe0, 0xdb, 0xc1, 0x44 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve", "cpa" ]
    expected:
      insns:
        -
          asm_text: "madpt z0.d, z1.d, z31.d"

  -
    input:
      bytes: [ 0x20, 0xd0, 0xdf, 0x44 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve", "cpa" ]
    expected:
      insns:
        -
          asm_text: "mlapt z0.d, z1.d, z31.d"
