test_cases:
  -
    input:
      bytes: [ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldb [0x0]"
  -
    input:
      bytes: [ 0x28, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0xff ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldh [0xfa0000ff]"
  -
    input:
      bytes: [ 0x40, 0x10, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldw [r1+0xcc000000]"
  -
    input:
      bytes: [ 0x18, 0x00, 0x00, 0x00, 0x0c, 0xb0, 0xce, 0xfa, 0x00, 0x00, 0x00, 0x00, 0xef, 0xbe, 0xad, 0xde ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "lddw r0, 0xefbeadde0cb0cefa"
  -
    input:
      bytes: [ 0x71, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldxb r3, [r1+0x1100]"
  -
    input:
      bytes: [ 0x94, 0x09, 0x00, 0x00, 0x37, 0x13, 0x03, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mod r9, 0x37130300"
  -
    input:
      bytes: [ 0x84, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "neg r3"
  -
    input:
      bytes: [ 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "neg64 r0"
  -
    input:
      bytes: [ 0xdc, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "be32 r2"
  -
    input:
      bytes: [ 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jmp +0x800"
  -
    input:
      bytes: [ 0xdd, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jsle r5, r3, +0x3000"
  -
    input:
      bytes: [ 0xa5, 0x35, 0x30, 0x00, 0x10, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jlt r5, 0x10000000, +0x3000"
  -
    input:
      bytes: [ 0xc3, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "xaddw [r2+0x10], r1"
  -
    input:
      bytes: [ 0xdb, 0xa9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "xadddw [r9+0x1], r10"
  -
    input:
      bytes: [ 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 ]
      arch: "CS_ARCH_BPF"
      options: [ "CS_MODE_BPF_EXTENDED", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "callx r2"
