test_cases:
  -
    input:
      bytes: [ 0x20, 0x00, 0x60, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve2" ]
    expected:
      insns:
        -
          asm_text: "ext z0.b, { z1.b, z2.b }, #0"

  -
    input:
      bytes: [ 0xdf, 0x1f, 0x7f, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve2" ]
    expected:
      insns:
        -
          asm_text: "ext z31.b, { z30.b, z31.b }, #255"

  -
    input:
      bytes: [ 0x20, 0x00, 0x60, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "ext z0.b, { z1.b, z2.b }, #0"

  -
    input:
      bytes: [ 0xdf, 0x1f, 0x7f, 0x05 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "ext z31.b, { z30.b, z31.b }, #255"
