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

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

  -
    input:
      bytes: [ 0x20, 0x4c, 0x62, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.4h, v1.4h, v2.4h"

  -
    input:
      bytes: [ 0x20, 0x4c, 0x62, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.8h, v1.8h, v2.8h"

  -
    input:
      bytes: [ 0x20, 0x4c, 0xa2, 0x0e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.2s, v1.2s, v2.2s"

  -
    input:
      bytes: [ 0x20, 0x4c, 0xa2, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.4s, v1.4s, v2.4s"

  -
    input:
      bytes: [ 0x20, 0x4c, 0xe2, 0x4e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.2d, v1.2d, v2.2d"

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

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

  -
    input:
      bytes: [ 0x20, 0x4c, 0x62, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.4h, v1.4h, v2.4h"

  -
    input:
      bytes: [ 0x20, 0x4c, 0x62, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.8h, v1.8h, v2.8h"

  -
    input:
      bytes: [ 0x20, 0x4c, 0xa2, 0x2e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.2s, v1.2s, v2.2s"

  -
    input:
      bytes: [ 0x20, 0x4c, 0xa2, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.4s, v1.4s, v2.4s"

  -
    input:
      bytes: [ 0x20, 0x4c, 0xe2, 0x6e ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.2d, v1.2d, v2.2d"
