test_cases:
  -
    input:
      bytes: [ 0x78, 0x5f, 0x17, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "sll.w $s1, $s4, $s0"
  -
    input:
      bytes: [ 0x3f, 0x9e, 0x17, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "srl.w $s8, $t5, $a3"
  -
    input:
      bytes: [ 0x8c, 0x2b, 0x18, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "sra.w $t0, $s5, $a6"
  -
    input:
      bytes: [ 0x41, 0x4b, 0x1b, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "rotr.w $ra, $s3, $t6"
  -
    input:
      bytes: [ 0x5a, 0x82, 0x40, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "slli.w $s3, $t6, 0"
  -
    input:
      bytes: [ 0xca, 0xf9, 0x44, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "srli.w $a6, $t2, 0x1e"
  -
    input:
      bytes: [ 0x28, 0xe2, 0x48, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "srai.w $a4, $t5, 0x18"
  -
    input:
      bytes: [ 0x97, 0xde, 0x4c, 0x00 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "rotri.w $s0, $t8, 0x17"
