test_cases:
  -
    input:
      bytes: [ 0x20, 0x04, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x7d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sshr v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x04, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ushr v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x7d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ssra v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x14, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "usra v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x7d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srshr v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x24, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "urshr v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x7d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "srsra v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x34, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ursra v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x44, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sri v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x0b, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x13, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x23, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x0b, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x13, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x23, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x54, 0x43, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sli v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x0b, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x13, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x23, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x0b, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x13, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x23, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x64, 0x43, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshlu v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x0b, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x13, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x23, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x0b, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x13, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x23, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x43, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshl v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x0b, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.8b, v1.8b, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x13, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x23, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x0b, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.16b, v1.16b, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x13, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x23, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x74, 0x43, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshl v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "shrn v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "shrn v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "shrn v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "shrn2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "shrn2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "shrn2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrun v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrun v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrun v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrun2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrun2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x84, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrun2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "rshrn v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "rshrn v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "rshrn v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "rshrn2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "rshrn2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "rshrn2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrun v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrun v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrun v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrun2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrun2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x8c, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrun2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrn v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrn v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrn v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrn2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrn2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqshrn2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshrn v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshrn v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshrn v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshrn2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshrn2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x94, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqshrn2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x0d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrn v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrn v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrn v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x0d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrn2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrn2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "sqrshrn2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x0d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqrshrn v0.8b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqrshrn v0.4h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqrshrn v0.2s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x0d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqrshrn2 v0.16b, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqrshrn2 v0.8h, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0x9c, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "uqrshrn2 v0.4s, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "scvtf v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "scvtf v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "scvtf v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "scvtf v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x7d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "scvtf v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ucvtf v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ucvtf v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ucvtf v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ucvtf v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0xe4, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "ucvtf v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x1d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzs v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x1d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzs v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x3d, 0x0f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzs v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x3d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzs v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x7d, 0x4f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzs v0.2d, v1.2d, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x1d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzu v0.4h, v1.4h, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x1d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzu v0.8h, v1.8h, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x3d, 0x2f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzu v0.2s, v1.2s, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x3d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzu v0.4s, v1.4s, #3"

  -
    input:
      bytes: [ 0x20, 0xfc, 0x7d, 0x6f ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64-none-linux-gnu", "neon", "+fullfp16" ]
    expected:
      insns:
        -
          asm_text: "fcvtzu v0.2d, v1.2d, #3"
