test_cases:
  -
    input:
      bytes: [ 0x8f, 0xea, 0x78, 0x10, 0xc7, 0xfe, 0x0a, 0x00, 0x00 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "bextrl $2814, %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xea, 0x78, 0x10, 0x07, 0xfe, 0x0a, 0x00, 0x00 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "bextrl $2814, (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xea, 0xf8, 0x10, 0xc7, 0xfe, 0x0a, 0x00, 0x00 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "bextrq $2814, %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xea, 0xf8, 0x10, 0x07, 0xfe, 0x0a, 0x00, 0x00 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "bextrq $2814, (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xcf ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcfilll %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x0f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcfilll (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xcf ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcfillq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0x0f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcfillq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x02, 0xf7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcil %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x02, 0x37 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcil (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x02, 0xf7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blciq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x02, 0x37 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blciq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xef ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcicl %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x2f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcicl (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xef ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcicq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0x2f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcicq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x02, 0xcf ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcmskl %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x02, 0x0f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcmskl (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x02, 0xcf ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcmskq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x02, 0x0f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcmskq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xdf ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcsl %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x1f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcsl (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xdf ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcsq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0x1f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blcsq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xd7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsfilll %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x17 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsfilll (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xd7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsfillq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0x17 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsfillq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xf7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsicl %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x37 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsicl (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xf7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "blsicq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xff ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "t1mskcl %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x3f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "t1mskcl (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xff ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "t1mskcq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0x3f ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "t1mskcq (%rdi), %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0xe7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "tzmskl %edi, %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0x78, 0x01, 0x27 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "tzmskl (%rdi), %eax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0xe7 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "tzmskq %rdi, %rax"
  -
    input:
      bytes: [ 0x8f, 0xe9, 0xf8, 0x01, 0x27 ]
      arch: "CS_ARCH_X86"
      options: [ "CS_OPT_SYNTAX_ATT", "CS_MODE_64" ]
    expected:
      insns:
        -
          asm_text: "tzmskq (%rdi), %rax"
