test_cases:
  -
    input:
      bytes: [ 0xe0, 0x3f, 0xd0, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrts v0.4h, v31.4h, v16.4h"

  -
    input:
      bytes: [ 0xe4, 0x3c, 0xcf, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrts v4.8h, v7.8h, v15.8h"

  -
    input:
      bytes: [ 0xe0, 0xff, 0xb0, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrts v0.2s, v31.2s, v16.2s"

  -
    input:
      bytes: [ 0xe4, 0xfc, 0xaf, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrts v4.4s, v7.4s, v15.4s"

  -
    input:
      bytes: [ 0x5d, 0xfc, 0xe5, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frsqrts v29.2d, v2.2d, v5.2d"

  -
    input:
      bytes: [ 0x03, 0x3d, 0x4c, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecps v3.4h, v8.4h, v12.4h"

  -
    input:
      bytes: [ 0xbf, 0x3f, 0x5c, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecps v31.8h, v29.8h, v28.8h"

  -
    input:
      bytes: [ 0xbf, 0xff, 0x3c, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecps v31.4s, v29.4s, v28.4s"

  -
    input:
      bytes: [ 0x03, 0xfd, 0x2c, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecps v3.2s, v8.2s, v12.2s"

  -
    input:
      bytes: [ 0xf1, 0xfd, 0x6d, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "frecps v17.2d, v15.2d, v13.2d"
