test_cases:
  -
    input:
      bytes: [ 0x00, 0x20, 0x52, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.h, p0/z, z0.h, #0.0"

  -
    input:
      bytes: [ 0x00, 0x20, 0x92, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.s, p0/z, z0.s, #0.0"

  -
    input:
      bytes: [ 0x00, 0x20, 0xd2, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.d, p0/z, z0.d, #0.0"

  -
    input:
      bytes: [ 0x00, 0x60, 0x41, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.h, p0/z, z0.h, z1.h"

  -
    input:
      bytes: [ 0x00, 0x60, 0x81, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.s, p0/z, z0.s, z1.s"

  -
    input:
      bytes: [ 0x00, 0x60, 0xc1, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sve" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.d, p0/z, z0.d, z1.d"

  -
    input:
      bytes: [ 0x00, 0x20, 0x52, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.h, p0/z, z0.h, #0.0"

  -
    input:
      bytes: [ 0x00, 0x20, 0x92, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.s, p0/z, z0.s, #0.0"

  -
    input:
      bytes: [ 0x00, 0x20, 0xd2, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.d, p0/z, z0.d, #0.0"

  -
    input:
      bytes: [ 0x00, 0x60, 0x41, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.h, p0/z, z0.h, z1.h"

  -
    input:
      bytes: [ 0x00, 0x60, 0x81, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.s, p0/z, z0.s, z1.s"

  -
    input:
      bytes: [ 0x00, 0x60, 0xc1, 0x65 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "sme" ]
    expected:
      insns:
        -
          asm_text: "fcmeq p0.d, p0/z, z0.d, z1.d"
