test_cases:
  -
    input:
      bytes: [ 0xf6, 0x28, 0x24, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.b $xr22, $xr7, 2"
  -
    input:
      bytes: [ 0x03, 0x54, 0x24, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.h $xr3, $xr0, 5"
  -
    input:
      bytes: [ 0x09, 0x82, 0x24, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.w $xr9, $xr16, 0"
  -
    input:
      bytes: [ 0x03, 0x05, 0x25, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.d $xr3, $xr8, 1"
  -
    input:
      bytes: [ 0xc6, 0x30, 0x28, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.bu $xr6, $xr6, 4"
  -
    input:
      bytes: [ 0x2c, 0x73, 0x28, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.hu $xr12, $xr25, 0xc"
  -
    input:
      bytes: [ 0x34, 0x8c, 0x28, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.wu $xr20, $xr1, 3"
  -
    input:
      bytes: [ 0x85, 0x1e, 0x29, 0x77 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvsat.du $xr5, $xr20, 7"
