test_cases:
  -
    input:
      bytes: [ 0x20, 0x1c, 0x42, 0x5e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fmulx h0, h1, h2"

  -
    input:
      bytes: [ 0x20, 0x3c, 0x42, 0x5e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecps h0, h1, h2"

  -
    input:
      bytes: [ 0x20, 0x3c, 0xc2, 0x5e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrts h0, h1, h2"

  -
    input:
      bytes: [ 0x20, 0xd8, 0xf9, 0x5e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecpe h0, h1"

  -
    input:
      bytes: [ 0x20, 0xf8, 0xf9, 0x5e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecpx h0, h1"

  -
    input:
      bytes: [ 0x20, 0xd8, 0xf9, 0x7e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "sme", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrte h0, h1"
