test_cases:
  -
    input:
      bytes: [ 0x8c, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcl.b $a0, $a1"
  -
    input:
      bytes: [ 0x8d, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcl.h $a0, $a1"
  -
    input:
      bytes: [ 0x8e, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcl.w $a0, $a1"
  -
    input:
      bytes: [ 0x8f, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcl.d $a0, $a1"
  -
    input:
      bytes: [ 0x98, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcli.b $a0, 1"
  -
    input:
      bytes: [ 0x99, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcli.h $a0, 1"
  -
    input:
      bytes: [ 0x9a, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcli.w $a0, 1"
  -
    input:
      bytes: [ 0x9b, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcli.d $a0, 1"
  -
    input:
      bytes: [ 0x88, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcr.b $a0, $a1"
  -
    input:
      bytes: [ 0x89, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcr.h $a0, $a1"
  -
    input:
      bytes: [ 0x8a, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcr.w $a0, $a1"
  -
    input:
      bytes: [ 0x8b, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcr.d $a0, $a1"
  -
    input:
      bytes: [ 0x90, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcri.b $a0, 1"
  -
    input:
      bytes: [ 0x91, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcri.h $a0, 1"
  -
    input:
      bytes: [ 0x92, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcri.w $a0, 1"
  -
    input:
      bytes: [ 0x93, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rcri.d $a0, 1"
  -
    input:
      bytes: [ 0x84, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotl.b $a0, $a1"
  -
    input:
      bytes: [ 0x85, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotl.h $a0, $a1"
  -
    input:
      bytes: [ 0x86, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotl.w $a0, $a1"
  -
    input:
      bytes: [ 0x87, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotl.d $a0, $a1"
  -
    input:
      bytes: [ 0x94, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotli.b $a0, 1"
  -
    input:
      bytes: [ 0x95, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotli.h $a0, 1"
  -
    input:
      bytes: [ 0x96, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotli.w $a0, 1"
  -
    input:
      bytes: [ 0x97, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotli.d $a0, 1"
  -
    input:
      bytes: [ 0x80, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotr.b $a0, $a1"
  -
    input:
      bytes: [ 0x81, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotr.h $a0, $a1"
  -
    input:
      bytes: [ 0x82, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotr.d $a0, $a1"
  -
    input:
      bytes: [ 0x83, 0x94, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotr.w $a0, $a1"
  -
    input:
      bytes: [ 0x8c, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotri.b $a0, 1"
  -
    input:
      bytes: [ 0x8d, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotri.h $a0, 1"
  -
    input:
      bytes: [ 0x8e, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotri.w $a0, 1"
  -
    input:
      bytes: [ 0x8f, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86rotri.d $a0, 1"
  -
    input:
      bytes: [ 0x94, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sll.b $a0, $a1"
  -
    input:
      bytes: [ 0x95, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sll.h $a0, $a1"
  -
    input:
      bytes: [ 0x96, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sll.w $a0, $a1"
  -
    input:
      bytes: [ 0x97, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sll.d $a0, $a1"
  -
    input:
      bytes: [ 0x80, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86slli.b $a0, 1"
  -
    input:
      bytes: [ 0x81, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86slli.h $a0, 1"
  -
    input:
      bytes: [ 0x82, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86slli.w $a0, 1"
  -
    input:
      bytes: [ 0x83, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86slli.d $a0, 1"
  -
    input:
      bytes: [ 0x98, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srl.b $a0, $a1"
  -
    input:
      bytes: [ 0x99, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srl.h $a0, $a1"
  -
    input:
      bytes: [ 0x9a, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srl.w $a0, $a1"
  -
    input:
      bytes: [ 0x9b, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srl.d $a0, $a1"
  -
    input:
      bytes: [ 0x84, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srli.b $a0, 1"
  -
    input:
      bytes: [ 0x85, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srli.h $a0, 1"
  -
    input:
      bytes: [ 0x86, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srli.w $a0, 1"
  -
    input:
      bytes: [ 0x87, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srli.d $a0, 1"
  -
    input:
      bytes: [ 0x9c, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sra.b $a0, $a1"
  -
    input:
      bytes: [ 0x9d, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sra.h $a0, $a1"
  -
    input:
      bytes: [ 0x9e, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sra.w $a0, $a1"
  -
    input:
      bytes: [ 0x9f, 0x14, 0x3f, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86sra.d $a0, $a1"
  -
    input:
      bytes: [ 0x88, 0x24, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srai.b $a0, 1"
  -
    input:
      bytes: [ 0x89, 0x44, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srai.h $a0, 1"
  -
    input:
      bytes: [ 0x8a, 0x84, 0x54, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srai.w $a0, 1"
  -
    input:
      bytes: [ 0x8b, 0x04, 0x55, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "x86srai.d $a0, 1"
