test_cases:
  -
    input:
      bytes: [ 0xe0, 0x2f, 0x50, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v0.4h, v31.4h, v16.4h"

  -
    input:
      bytes: [ 0xe4, 0x2c, 0x4f, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v4.8h, v7.8h, v15.8h"

  -
    input:
      bytes: [ 0xe0, 0xef, 0x30, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v0.2s, v31.2s, v16.2s"

  -
    input:
      bytes: [ 0xe4, 0xec, 0x2f, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v4.4s, v7.4s, v15.4s"

  -
    input:
      bytes: [ 0x5d, 0xec, 0x65, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v29.2d, v2.2d, v5.2d"

  -
    input:
      bytes: [ 0xe0, 0x2f, 0x50, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v0.4h, v31.4h, v16.4h"

  -
    input:
      bytes: [ 0xe4, 0x2c, 0x4f, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v4.8h, v7.8h, v15.8h"

  -
    input:
      bytes: [ 0xe0, 0xef, 0x30, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v0.2s, v31.2s, v16.2s"

  -
    input:
      bytes: [ 0xe4, 0xec, 0x2f, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v4.4s, v7.4s, v15.4s"

  -
    input:
      bytes: [ 0x5d, 0xec, 0x65, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facge v29.2d, v2.2d, v5.2d"

  -
    input:
      bytes: [ 0x03, 0x2d, 0xcc, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v3.4h, v8.4h, v12.4h"

  -
    input:
      bytes: [ 0xbf, 0x2f, 0xdc, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v31.8h, v29.8h, v28.8h"

  -
    input:
      bytes: [ 0xbf, 0xef, 0xbc, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v31.4s, v29.4s, v28.4s"

  -
    input:
      bytes: [ 0x03, 0xed, 0xac, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v3.2s, v8.2s, v12.2s"

  -
    input:
      bytes: [ 0xf1, 0xed, 0xed, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v17.2d, v15.2d, v13.2d"

  -
    input:
      bytes: [ 0x03, 0x2d, 0xcc, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v3.4h, v8.4h, v12.4h"

  -
    input:
      bytes: [ 0xbf, 0x2f, 0xdc, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v31.8h, v29.8h, v28.8h"

  -
    input:
      bytes: [ 0xbf, 0xef, 0xbc, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v31.4s, v29.4s, v28.4s"

  -
    input:
      bytes: [ 0x03, 0xed, 0xac, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v3.2s, v8.2s, v12.2s"

  -
    input:
      bytes: [ 0xf1, 0xed, 0xed, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "facgt v17.2d, v15.2d, v13.2d"
