test_cases:
  -
    input:
      bytes: [ 0x66, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslckeep, [x3]"

  -
    input:
      bytes: [ 0x67, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslcstrm, [x3]"

  -
    input:
      bytes: [ 0x6e, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm plislckeep, [x3]"

  -
    input:
      bytes: [ 0x6f, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm plislcstrm, [x3]"

  -
    input:
      bytes: [ 0x76, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm pstslckeep, [x3]"

  -
    input:
      bytes: [ 0x77, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm pstslcstrm, [x3]"

  -
    input:
      bytes: [ 0x66, 0x68, 0xa5, 0xf8 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslckeep, [x3, x5]"

  -
    input:
      bytes: [ 0x66, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslckeep, [x3]"

  -
    input:
      bytes: [ 0x67, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslcstrm, [x3]"

  -
    input:
      bytes: [ 0x6e, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm plislckeep, [x3]"

  -
    input:
      bytes: [ 0x6f, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm plislcstrm, [x3]"

  -
    input:
      bytes: [ 0x76, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm pstslckeep, [x3]"

  -
    input:
      bytes: [ 0x77, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm pstslcstrm, [x3]"

  -
    input:
      bytes: [ 0x66, 0x68, 0xa5, 0xf8 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v8.9a" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslckeep, [x3, x5]"

  -
    input:
      bytes: [ 0x66, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslckeep, [x3]"

  -
    input:
      bytes: [ 0x67, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslcstrm, [x3]"

  -
    input:
      bytes: [ 0x6e, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm plislckeep, [x3]"

  -
    input:
      bytes: [ 0x6f, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm plislcstrm, [x3]"

  -
    input:
      bytes: [ 0x76, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm pstslckeep, [x3]"

  -
    input:
      bytes: [ 0x77, 0x00, 0x80, 0xf9 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm pstslcstrm, [x3]"

  -
    input:
      bytes: [ 0x66, 0x68, 0xa5, 0xf8 ]
      arch: "CS_ARCH_AARCH64"
      options: [ "CS_OPT_NO_BRANCH_OFFSET", "aarch64", "v9.4a" ]
    expected:
      insns:
        -
          asm_text: "prfm pldslckeep, [x3, x5]"
