test_cases:
  -
    input:
      bytes: [ 0xf8, 0x08, 0x24, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crc.w.b.w $s1, $a3, $tp"
  -
    input:
      bytes: [ 0x5f, 0xc9, 0x24, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crc.w.h.w $s8, $a6, $t6"
  -
    input:
      bytes: [ 0xdc, 0x28, 0x25, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crc.w.w.w $s5, $a2, $a6"
  -
    input:
      bytes: [ 0x7c, 0xfd, 0x25, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crc.w.d.w $s5, $a7, $s8"
  -
    input:
      bytes: [ 0x4f, 0x0e, 0x26, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crcc.w.b.w $t3, $t6, $sp"
  -
    input:
      bytes: [ 0xb5, 0xcb, 0x26, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crcc.w.h.w $r21, $s6, $t6"
  -
    input:
      bytes: [ 0xd1, 0x35, 0x27, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crcc.w.w.w $t5, $t2, $t1"
  -
    input:
      bytes: [ 0xbe, 0xee, 0x27, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "crcc.w.d.w $s7, $r21, $s4"
