test_cases:
  -
    input:
      bytes: [ 0xf6, 0x40, 0x56, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.h.b $xr22, $xr7, $xr16"
  -
    input:
      bytes: [ 0x13, 0xbd, 0x56, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.w.h $xr19, $xr8, $xr15"
  -
    input:
      bytes: [ 0xfe, 0x4e, 0x57, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.d.w $xr30, $xr23, $xr19"
  -
    input:
      bytes: [ 0xb4, 0xf1, 0x57, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.q.d $xr20, $xr13, $xr28"
  -
    input:
      bytes: [ 0x4a, 0x40, 0x5a, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.hu.bu $xr10, $xr2, $xr16"
  -
    input:
      bytes: [ 0x41, 0xcb, 0x5a, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.wu.hu $xr1, $xr26, $xr18"
  -
    input:
      bytes: [ 0xe5, 0x52, 0x5b, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.du.wu $xr5, $xr23, $xr20"
  -
    input:
      bytes: [ 0x9f, 0xa0, 0x5b, 0x74 ]
      arch: "CS_ARCH_LOONGARCH"
      options: [ "CS_MODE_LOONGARCH64" ]
    expected:
      insns:
        -
          asm_text: "xvhsubw.qu.du $xr31, $xr4, $xr8"
