test_cases:
  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "ssbs" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "ssbs" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "ssbs" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "v8.5a" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "v8.5a" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "v8.5a" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a65" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a65" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a65" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a65ae" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a65ae" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a65ae" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a76" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a76" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a76" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a76ae" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a76ae" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "cortex-a76ae" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-e1" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-e1" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-e1" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-n1" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-n1" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-n1" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"

  -
    input:
      bytes: [ 0xc2, 0x42, 0x3b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-n2" ]
    expected:
      insns:
        -
          asm_text: "mrs x2, SSBS"

  -
    input:
      bytes: [ 0xc3, 0x42, 0x1b, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-n2" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, x3"

  -
    input:
      bytes: [ 0x3f, 0x41, 0x03, 0xd5 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_ONLY_OFFSET_BRANCH", "aarch64", "neoverse-n2" ]
    expected:
      insns:
        -
          asm_text: "msr SSBS, #1"
