test_cases:
  -
    input:
      bytes: [ 0x00, 0x70, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x75, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x7b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x7c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x70, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x75, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x7b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x7c, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d, v1.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d, v1.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d, v1.1d, v2.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d, v1.1d, v2.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x8c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x8c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st2 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x4c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x4c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st3 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x0c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x0c, 0x00, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x00, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x70, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x75, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x7b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x7c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x70, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x75, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x7b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x7c, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d, v1.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0xa0, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0xa5, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0xab, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0xac, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d, v1.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d, v1.1d, v2.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x60, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x65, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x6b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x6c, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d, v1.1d, v2.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x20, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x25, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x2b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x2c, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x8c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v0.16b, v1.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v15.8h, v16.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v31.4s, v0.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x8c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v0.2d, v1.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x80, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v0.8b, v1.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x85, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v15.4h, v16.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x8b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld2 { v31.2s, v0.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x4c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v0.16b, v1.16b, v2.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v15.8h, v16.8h, v17.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v31.4s, v0.4s, v1.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x4c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v0.2d, v1.2d, v2.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x40, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v0.8b, v1.8b, v2.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x45, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v15.4h, v16.4h, v17.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x4b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld3 { v31.2s, v0.2s, v1.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x0c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]"

  -
    input:
      bytes: [ 0x00, 0x0c, 0x40, 0x4c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]"

  -
    input:
      bytes: [ 0x00, 0x00, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]"

  -
    input:
      bytes: [ 0xef, 0x05, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]"

  -
    input:
      bytes: [ 0xff, 0x0b, 0x40, 0x0c ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "arm64", "neon" ]
    expected:
      insns:
        -
          asm_text: "ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]"
