test_cases:
  -
    input:
      bytes: [ 0x20, 0x1c, 0x22, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "and v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x22, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "and v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xa2, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "orr v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xa2, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "orr v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x22, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "eor v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x22, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "eor v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xa2, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bit v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xa2, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bit v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xe2, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bif v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xe2, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bif v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x62, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bsl v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x62, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bsl v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xe2, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "orn v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0xe2, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "orn v0.16b, v1.16b, v2.16b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x62, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bic v0.8b, v1.8b, v2.8b"

  -
    input:
      bytes: [ 0x20, 0x1c, 0x62, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "bic v0.16b, v1.16b, v2.16b"
