RISC-V: Add support for XCVsimd extension in CV32E40P

Spec: https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html

Contributors:
  Mary Bennett <mary.bennett682@gmail.com>
  Nandni Jamnadas <nandni.jamnadas@embecosm.com>
  Pietra Ferreira <pietra.ferreira@embecosm.com>
  Charlie Keaney
  Jessica Mills
  Craig Blackmore <craig.blackmore@embecosm.com>
  Simon Cook <simon.cook@embecosm.com>
  Jeremy Bennett <jeremy.bennett@embecosm.com>
  Helene Chelin <helene.chelin@embecosm.com>

bfd/ChangeLog:

	* elfxx-riscv.c (riscv_multi_subset_supports): Add `xcvsimd`
	instruction class.
	(riscv_multi_subset_supports_ext): Likewise.

gas/ChangeLog:
	* NEWS: Updated.
	* config/tc-riscv.c (validate_riscv_insn): Add custom operands.
	(riscv_ip): Likewise.
	* doc/c-riscv.texi: Note XCVsimd as an additional ISA extension
	for CORE-V.
	* testsuite/gas/riscv/march-help.l: Add xcvsimd.
	* testsuite/gas/riscv/x-cv-simd.d: New test.
	* testsuite/gas/riscv/x-cv-simd.s: New test.
	* testsuite/gas/riscv/x-cv-simd-fail.d: New test.
	* testsuite/gas/riscv/x-cv-simd-fail.l: New test.
	* testsuite/gas/riscv/x-cv-simd-fail.s: New test.

include/ChangeLog:

	* opcode/riscv-opc.h: Add corresponding MATCH and MASK macros
	for XCVsimd.
	* opcode/riscv.h: Add corresponding EXTRACT and ENCODE macros
	for XCVsimd.
	(enum riscv_insn_class): Add the XCVsimd instruction class.

opcodes/ChangeLog:

	* riscv-dis.c (print_insn_args): Add custom operands.
	* riscv-opc.c: Add XCVsimd instructions.
This commit is contained in:
Mary Bennett
2024-08-30 04:46:58 +01:00
committed by Nelson Chu
parent cf52562182
commit a6ecb18b79
14 changed files with 4910 additions and 2 deletions

View File

@@ -1472,6 +1472,7 @@ static struct riscv_supported_ext riscv_supported_vendor_x_ext[] =
{"xcvelw", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"xcvmac", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"xcvmem", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"xcvsimd", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"xtheadba", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"xtheadbb", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"xtheadbs", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
@@ -2734,6 +2735,8 @@ riscv_multi_subset_supports (riscv_parse_subset_t *rps,
return riscv_subset_supports (rps, "xcvmac");
case INSN_CLASS_XCVMEM:
return riscv_subset_supports (rps, "xcvmem");
case INSN_CLASS_XCVSIMD:
return riscv_subset_supports (rps, "xcvsimd");
case INSN_CLASS_XTHEADBA:
return riscv_subset_supports (rps, "xtheadba");
case INSN_CLASS_XTHEADBB:
@@ -3014,6 +3017,8 @@ riscv_multi_subset_supports_ext (riscv_parse_subset_t *rps,
return "xcvmac";
case INSN_CLASS_XCVMEM:
return "xcvmem";
case INSN_CLASS_XCVSIMD:
return "xcvsimd";
case INSN_CLASS_XTHEADBA:
return "xtheadba";
case INSN_CLASS_XTHEADBB:

View File

@@ -1,7 +1,7 @@
-*- text -*-
* Add support for RISC-V Zcmp (cm.mva01s, cm.mvsa01) and CORE-V (XCvBitmanip)
extensions with version 1.0.
* Add support for RISC-V Zcmp (cm.mva01s, cm.mvsa01) and CORE-V (xcvbitmanip,
xcvsimd) extensions with version 1.0.
Changes in 2.43:

View File

@@ -1695,12 +1695,19 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length)
case '3':
used_bits |= ENCODE_CV_IS3_UIMM5 (-1U);
break;
case '5':
used_bits |= ENCODE_CV_SIMD_IMM6(-1U);
break;
case '6':
used_bits |= ENCODE_CV_BITMANIP_UIMM5(-1U);
break;
case '7':
used_bits |= ENCODE_CV_BITMANIP_UIMM2(-1U);
break;
case '8':
used_bits |= ENCODE_CV_SIMD_UIMM6(-1U);
++oparg;
break;
default:
goto unknown_validate_operand;
}
@@ -4021,6 +4028,16 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
ip->insn_opcode
|= ENCODE_CV_IS2_UIMM5 (imm_expr->X_add_number);
continue;
case '5':
my_getExpression (imm_expr, asarg);
check_absolute_expr (ip, imm_expr, FALSE);
asarg = expr_parse_end;
if (imm_expr->X_add_number < -32
|| imm_expr->X_add_number > 31)
break;
ip->insn_opcode
|= ENCODE_CV_SIMD_IMM6 (imm_expr->X_add_number);
continue;
case '6':
my_getExpression (imm_expr, asarg);
check_absolute_expr (ip, imm_expr, FALSE);
@@ -4041,6 +4058,29 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
ip->insn_opcode
|= ENCODE_CV_BITMANIP_UIMM2 (imm_expr->X_add_number);
continue;
case '8':
my_getExpression (imm_expr, asarg);
check_absolute_expr (ip, imm_expr, FALSE);
asarg = expr_parse_end;
++oparg;
if (imm_expr->X_add_number < 0
|| imm_expr->X_add_number > 63)
break;
else if (*oparg == '1'
&& imm_expr->X_add_number > 1)
break;
else if (*oparg == '2'
&& imm_expr->X_add_number > 3)
break;
else if (*oparg == '3'
&& imm_expr->X_add_number > 7)
break;
else if (*oparg == '4'
&& imm_expr->X_add_number > 15)
break;
ip->insn_opcode
|= ENCODE_CV_SIMD_UIMM6 (imm_expr->X_add_number);
continue;
default:
goto unknown_riscv_ip_operand;
}

View File

@@ -775,6 +775,11 @@ The XCvMem extension provides instructions for post inc load/store operations.
It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html}
@item XcvSimd
The XcvSimd extension provides instructions for SIMD operations.
It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html}
@item XTheadBa
The XTheadBa extension provides instructions for address calculations.

View File

@@ -137,6 +137,7 @@ All available -march extensions for RISC-V:
xcvelw 1.0
xcvmac 1.0
xcvmem 1.0
xcvsimd 1.0
xtheadba 1.0
xtheadbb 1.0
xtheadbs 1.0

View File

@@ -0,0 +1,3 @@
#as: -march=rv32i_xcvsimd
#source: x-cv-simd-fail.s
#error_output: x-cv-simd-fail.l

View File

@@ -0,0 +1,583 @@
.*: Assembler messages:
.*: Error: illegal operands `cv.abs.b x32,x32'
.*: Error: illegal operands `cv.abs.b x33,x33'
.*: Error: illegal operands `cv.abs.h x32,x32'
.*: Error: illegal operands `cv.abs.h x33,x33'
.*: Error: illegal operands `cv.add.b x32,x32,x32'
.*: Error: illegal operands `cv.add.b x33,x33,x33'
.*: Error: illegal operands `cv.add.div2 x32,x32,x32'
.*: Error: illegal operands `cv.add.div2 x33,x33,x33'
.*: Error: illegal operands `cv.add.div4 x32,x32,x32'
.*: Error: illegal operands `cv.add.div4 x33,x33,x33'
.*: Error: illegal operands `cv.add.div8 x32,x32,x32'
.*: Error: illegal operands `cv.add.div8 x33,x33,x33'
.*: Error: illegal operands `cv.add.h x32,x32,x32'
.*: Error: illegal operands `cv.add.h x33,x33,x33'
.*: Error: illegal operands `cv.add.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.add.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.add.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.add.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.add.sci.b x32,x32,20'
.*: Error: illegal operands `cv.add.sci.b x33,x33,20'
.*: Error: illegal operands `cv.add.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.add.sci.b x6,x7,32'
.*: Error: illegal operands `cv.add.sci.h x32,x32,20'
.*: Error: illegal operands `cv.add.sci.h x33,x33,20'
.*: Error: illegal operands `cv.add.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.add.sci.h x6,x7,32'
.*: Error: illegal operands `cv.and.b x32,x32,x32'
.*: Error: illegal operands `cv.and.b x33,x33,x33'
.*: Error: illegal operands `cv.and.h x32,x32,x32'
.*: Error: illegal operands `cv.and.h x33,x33,x33'
.*: Error: illegal operands `cv.and.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.and.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.and.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.and.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.and.sci.b x32,x32,20'
.*: Error: illegal operands `cv.and.sci.b x33,x33,20'
.*: Error: illegal operands `cv.and.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.and.sci.b x6,x7,32'
.*: Error: illegal operands `cv.and.sci.h x32,x32,20'
.*: Error: illegal operands `cv.and.sci.h x33,x33,20'
.*: Error: illegal operands `cv.and.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.and.sci.h x6,x7,32'
.*: Error: illegal operands `cv.avg.b x32,x32,x32'
.*: Error: illegal operands `cv.avg.b x33,x33,x33'
.*: Error: illegal operands `cv.avg.h x32,x32,x32'
.*: Error: illegal operands `cv.avg.h x33,x33,x33'
.*: Error: illegal operands `cv.avg.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.avg.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.avg.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.avg.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.avg.sci.b x32,x32,20'
.*: Error: illegal operands `cv.avg.sci.b x33,x33,20'
.*: Error: illegal operands `cv.avg.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.avg.sci.b x6,x7,32'
.*: Error: illegal operands `cv.avg.sci.h x32,x32,20'
.*: Error: illegal operands `cv.avg.sci.h x33,x33,20'
.*: Error: illegal operands `cv.avg.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.avg.sci.h x6,x7,32'
.*: Error: illegal operands `cv.avgu.b x32,x32,x32'
.*: Error: illegal operands `cv.avgu.b x33,x33,x33'
.*: Error: illegal operands `cv.avgu.h x32,x32,x32'
.*: Error: illegal operands `cv.avgu.h x33,x33,x33'
.*: Error: illegal operands `cv.avgu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.avgu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.avgu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.avgu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.avgu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.avgu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.avgu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.avgu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.avgu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.avgu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.avgu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.avgu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.cmpeq.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpeq.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpeq.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpeq.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpeq.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpeq.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpeq.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpeq.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpeq.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpeq.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpeq.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.cmpeq.sci.b x6,x7,32'
.*: Error: illegal operands `cv.cmpeq.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpeq.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpeq.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.cmpeq.sci.h x6,x7,32'
.*: Error: illegal operands `cv.cmpge.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpge.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpge.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpge.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpge.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpge.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpge.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpge.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpge.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpge.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpge.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.cmpge.sci.b x6,x7,32'
.*: Error: illegal operands `cv.cmpge.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpge.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpge.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.cmpge.sci.h x6,x7,32'
.*: Error: illegal operands `cv.cmpgeu.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpgeu.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpgeu.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpgeu.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpgeu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpgeu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpgeu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpgeu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpgeu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpgeu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpgeu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.cmpgeu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.cmpgeu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpgeu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpgeu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.cmpgeu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.cmpgt.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpgt.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpgt.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpgt.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpgt.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpgt.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpgt.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpgt.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpgt.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpgt.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpgt.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.cmpgt.sci.b x6,x7,32'
.*: Error: illegal operands `cv.cmpgt.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpgt.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpgt.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.cmpgt.sci.h x6,x7,32'
.*: Error: illegal operands `cv.cmpgtu.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpgtu.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpgtu.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpgtu.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpgtu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpgtu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpgtu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpgtu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpgtu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpgtu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpgtu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.cmpgtu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.cmpgtu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpgtu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpgtu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.cmpgtu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.cmple.b x32,x32,x32'
.*: Error: illegal operands `cv.cmple.b x33,x33,x33'
.*: Error: illegal operands `cv.cmple.h x32,x32,x32'
.*: Error: illegal operands `cv.cmple.h x33,x33,x33'
.*: Error: illegal operands `cv.cmple.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmple.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmple.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmple.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmple.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmple.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmple.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.cmple.sci.b x6,x7,32'
.*: Error: illegal operands `cv.cmple.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmple.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmple.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.cmple.sci.h x6,x7,32'
.*: Error: illegal operands `cv.cmpleu.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpleu.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpleu.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpleu.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpleu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpleu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpleu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpleu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpleu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpleu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpleu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.cmpleu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.cmpleu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpleu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpleu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.cmpleu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.cmplt.b x32,x32,x32'
.*: Error: illegal operands `cv.cmplt.b x33,x33,x33'
.*: Error: illegal operands `cv.cmplt.h x32,x32,x32'
.*: Error: illegal operands `cv.cmplt.h x33,x33,x33'
.*: Error: illegal operands `cv.cmplt.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmplt.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmplt.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmplt.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmplt.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmplt.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmplt.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.cmplt.sci.b x6,x7,32'
.*: Error: illegal operands `cv.cmplt.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmplt.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmplt.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.cmplt.sci.h x6,x7,32'
.*: Error: illegal operands `cv.cmpltu.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpltu.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpltu.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpltu.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpltu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpltu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpltu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpltu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpltu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpltu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpltu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.cmpltu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.cmpltu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpltu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpltu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.cmpltu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.cmpne.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpne.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpne.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpne.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpne.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.cmpne.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.cmpne.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.cmpne.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.cmpne.sci.b x32,x32,20'
.*: Error: illegal operands `cv.cmpne.sci.b x33,x33,20'
.*: Error: illegal operands `cv.cmpne.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.cmpne.sci.b x6,x7,32'
.*: Error: illegal operands `cv.cmpne.sci.h x32,x32,20'
.*: Error: illegal operands `cv.cmpne.sci.h x33,x33,20'
.*: Error: illegal operands `cv.cmpne.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.cmpne.sci.h x6,x7,32'
.*: Error: illegal operands `cv.cplxconj x32,x32'
.*: Error: illegal operands `cv.cplxconj x33,x33'
.*: Error: illegal operands `cv.cplxmul.i.div2 x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.i.div2 x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.i.div4 x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.i.div4 x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.i.div8 x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.i.div8 x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.i x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.i x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.r.div2 x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.r.div2 x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.r.div4 x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.r.div4 x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.r.div8 x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.r.div8 x33,x33,x33'
.*: Error: illegal operands `cv.cplxmul.r x32,x32,x32'
.*: Error: illegal operands `cv.cplxmul.r x33,x33,x33'
.*: Error: illegal operands `cv.dotsp.b x32,x32,x32'
.*: Error: illegal operands `cv.dotsp.b x33,x33,x33'
.*: Error: illegal operands `cv.dotsp.h x32,x32,x32'
.*: Error: illegal operands `cv.dotsp.h x33,x33,x33'
.*: Error: illegal operands `cv.dotsp.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.dotsp.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.dotsp.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.dotsp.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.dotsp.sci.b x32,x32,20'
.*: Error: illegal operands `cv.dotsp.sci.b x33,x33,20'
.*: Error: illegal operands `cv.dotsp.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.dotsp.sci.b x6,x7,32'
.*: Error: illegal operands `cv.dotsp.sci.h x32,x32,20'
.*: Error: illegal operands `cv.dotsp.sci.h x33,x33,20'
.*: Error: illegal operands `cv.dotsp.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.dotsp.sci.h x6,x7,32'
.*: Error: illegal operands `cv.dotup.b x32,x32,x32'
.*: Error: illegal operands `cv.dotup.b x33,x33,x33'
.*: Error: illegal operands `cv.dotup.h x32,x32,x32'
.*: Error: illegal operands `cv.dotup.h x33,x33,x33'
.*: Error: illegal operands `cv.dotup.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.dotup.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.dotup.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.dotup.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.dotup.sci.b x32,x32,20'
.*: Error: illegal operands `cv.dotup.sci.b x33,x33,20'
.*: Error: illegal operands `cv.dotup.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.dotup.sci.b x6,x7,64'
.*: Error: illegal operands `cv.dotup.sci.h x32,x32,20'
.*: Error: illegal operands `cv.dotup.sci.h x33,x33,20'
.*: Error: illegal operands `cv.dotup.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.dotup.sci.h x6,x7,64'
.*: Error: illegal operands `cv.dotusp.b x32,x32,x32'
.*: Error: illegal operands `cv.dotusp.b x33,x33,x33'
.*: Error: illegal operands `cv.dotusp.h x32,x32,x32'
.*: Error: illegal operands `cv.dotusp.h x33,x33,x33'
.*: Error: illegal operands `cv.dotusp.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.dotusp.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.dotusp.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.dotusp.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.dotusp.sci.b x32,x32,20'
.*: Error: illegal operands `cv.dotusp.sci.b x33,x33,20'
.*: Error: illegal operands `cv.dotusp.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.dotusp.sci.b x6,x7,32'
.*: Error: illegal operands `cv.dotusp.sci.h x32,x32,20'
.*: Error: illegal operands `cv.dotusp.sci.h x33,x33,20'
.*: Error: illegal operands `cv.dotusp.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.dotusp.sci.h x6,x7,32'
.*: Error: illegal operands `cv.extract.b x32,x32,2'
.*: Error: illegal operands `cv.extract.b x33,x33,2'
.*: Error: illegal operands `cv.extract.b x6,x7,-1'
.*: Error: illegal operands `cv.extract.b x6,x7,4'
.*: Error: illegal operands `cv.extract.h x32,x32,1'
.*: Error: illegal operands `cv.extract.h x33,x33,1'
.*: Error: illegal operands `cv.extract.h x6,x7,-1'
.*: Error: illegal operands `cv.extract.h x6,x7,2'
.*: Error: illegal operands `cv.extractu.b x32,x32,2'
.*: Error: illegal operands `cv.extractu.b x33,x33,2'
.*: Error: illegal operands `cv.extractu.b x6,x7,-1'
.*: Error: illegal operands `cv.extractu.b x6,x7,4'
.*: Error: illegal operands `cv.extractu.h x32,x32,1'
.*: Error: illegal operands `cv.extractu.h x33,x33,1'
.*: Error: illegal operands `cv.extractu.h x6,x7,-1'
.*: Error: illegal operands `cv.extractu.h x6,x7,2'
.*: Error: illegal operands `cv.insert.b x32,x32,2'
.*: Error: illegal operands `cv.insert.b x33,x33,2'
.*: Error: illegal operands `cv.insert.b x6,x7,-1'
.*: Error: illegal operands `cv.insert.b x6,x7,4'
.*: Error: illegal operands `cv.insert.h x32,x32,1'
.*: Error: illegal operands `cv.insert.h x33,x33,1'
.*: Error: illegal operands `cv.insert.h x6,x7,-1'
.*: Error: illegal operands `cv.insert.h x6,x7,2'
.*: Error: illegal operands `cv.max.b x32,x32,x32'
.*: Error: illegal operands `cv.max.b x33,x33,x33'
.*: Error: illegal operands `cv.max.h x32,x32,x32'
.*: Error: illegal operands `cv.max.h x33,x33,x33'
.*: Error: illegal operands `cv.max.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.max.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.max.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.max.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.max.sci.b x32,x32,20'
.*: Error: illegal operands `cv.max.sci.b x33,x33,20'
.*: Error: illegal operands `cv.max.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.max.sci.b x6,x7,32'
.*: Error: illegal operands `cv.max.sci.h x32,x32,20'
.*: Error: illegal operands `cv.max.sci.h x33,x33,20'
.*: Error: illegal operands `cv.max.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.max.sci.h x6,x7,32'
.*: Error: illegal operands `cv.maxu.b x32,x32,x32'
.*: Error: illegal operands `cv.maxu.b x33,x33,x33'
.*: Error: illegal operands `cv.maxu.h x32,x32,x32'
.*: Error: illegal operands `cv.maxu.h x33,x33,x33'
.*: Error: illegal operands `cv.maxu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.maxu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.maxu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.maxu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.maxu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.maxu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.maxu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.maxu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.maxu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.maxu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.maxu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.maxu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.min.b x32,x32,x32'
.*: Error: illegal operands `cv.min.b x33,x33,x33'
.*: Error: illegal operands `cv.min.h x32,x32,x32'
.*: Error: illegal operands `cv.min.h x33,x33,x33'
.*: Error: illegal operands `cv.min.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.min.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.min.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.min.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.min.sci.b x32,x32,20'
.*: Error: illegal operands `cv.min.sci.b x33,x33,20'
.*: Error: illegal operands `cv.min.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.min.sci.b x6,x7,32'
.*: Error: illegal operands `cv.min.sci.h x32,x32,20'
.*: Error: illegal operands `cv.min.sci.h x33,x33,20'
.*: Error: illegal operands `cv.min.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.min.sci.h x6,x7,32'
.*: Error: illegal operands `cv.minu.b x32,x32,x32'
.*: Error: illegal operands `cv.minu.b x33,x33,x33'
.*: Error: illegal operands `cv.minu.h x32,x32,x32'
.*: Error: illegal operands `cv.minu.h x33,x33,x33'
.*: Error: illegal operands `cv.minu.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.minu.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.minu.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.minu.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.minu.sci.b x32,x32,20'
.*: Error: illegal operands `cv.minu.sci.b x33,x33,20'
.*: Error: illegal operands `cv.minu.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.minu.sci.b x6,x7,64'
.*: Error: illegal operands `cv.minu.sci.h x32,x32,20'
.*: Error: illegal operands `cv.minu.sci.h x33,x33,20'
.*: Error: illegal operands `cv.minu.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.minu.sci.h x6,x7,64'
.*: Error: illegal operands `cv.or.b x32,x32,x32'
.*: Error: illegal operands `cv.or.b x33,x33,x33'
.*: Error: illegal operands `cv.or.h x32,x32,x32'
.*: Error: illegal operands `cv.or.h x33,x33,x33'
.*: Error: illegal operands `cv.or.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.or.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.or.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.or.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.or.sci.b x32,x32,20'
.*: Error: illegal operands `cv.or.sci.b x33,x33,20'
.*: Error: illegal operands `cv.or.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.or.sci.b x6,x7,32'
.*: Error: illegal operands `cv.or.sci.h x32,x32,20'
.*: Error: illegal operands `cv.or.sci.h x33,x33,20'
.*: Error: illegal operands `cv.or.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.or.sci.h x6,x7,32'
.*: Error: illegal operands `cv.pack x32,x32,x32'
.*: Error: illegal operands `cv.pack x33,x33,x33'
.*: Error: illegal operands `cv.pack.h x32,x32,x32'
.*: Error: illegal operands `cv.pack.h x33,x33,x33'
.*: Error: illegal operands `cv.packhi.b x32,x32,x32'
.*: Error: illegal operands `cv.packhi.b x33,x33,x33'
.*: Error: illegal operands `cv.packlo.b x32,x32,x32'
.*: Error: illegal operands `cv.packlo.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotsp.b x32,x32,x32'
.*: Error: illegal operands `cv.sdotsp.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotsp.h x32,x32,x32'
.*: Error: illegal operands `cv.sdotsp.h x33,x33,x33'
.*: Error: illegal operands `cv.sdotsp.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.sdotsp.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotsp.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.sdotsp.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.sdotsp.sci.b x32,x32,20'
.*: Error: illegal operands `cv.sdotsp.sci.b x33,x33,20'
.*: Error: illegal operands `cv.sdotsp.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.sdotsp.sci.b x6,x7,32'
.*: Error: illegal operands `cv.sdotsp.sci.h x32,x32,20'
.*: Error: illegal operands `cv.sdotsp.sci.h x33,x33,20'
.*: Error: illegal operands `cv.sdotsp.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.sdotsp.sci.h x6,x7,32'
.*: Error: illegal operands `cv.sdotup.b x32,x32,x32'
.*: Error: illegal operands `cv.sdotup.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotup.h x32,x32,x32'
.*: Error: illegal operands `cv.sdotup.h x33,x33,x33'
.*: Error: illegal operands `cv.sdotup.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.sdotup.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotup.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.sdotup.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.sdotup.sci.b x32,x32,20'
.*: Error: illegal operands `cv.sdotup.sci.b x33,x33,20'
.*: Error: illegal operands `cv.sdotup.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.sdotup.sci.b x6,x7,64'
.*: Error: illegal operands `cv.sdotup.sci.h x32,x32,20'
.*: Error: illegal operands `cv.sdotup.sci.h x33,x33,20'
.*: Error: illegal operands `cv.sdotup.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.sdotup.sci.h x6,x7,64'
.*: Error: illegal operands `cv.sdotusp.b x32,x32,x32'
.*: Error: illegal operands `cv.sdotusp.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotusp.h x32,x32,x32'
.*: Error: illegal operands `cv.sdotusp.h x33,x33,x33'
.*: Error: illegal operands `cv.sdotusp.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.sdotusp.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.sdotusp.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.sdotusp.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.sdotusp.sci.b x32,x32,20'
.*: Error: illegal operands `cv.sdotusp.sci.b x33,x33,20'
.*: Error: illegal operands `cv.sdotusp.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.sdotusp.sci.b x6,x7,32'
.*: Error: illegal operands `cv.sdotusp.sci.h x32,x32,20'
.*: Error: illegal operands `cv.sdotusp.sci.h x33,x33,20'
.*: Error: illegal operands `cv.sdotusp.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.sdotusp.sci.h x6,x7,32'
.*: Error: illegal operands `cv.shuffle2.b x32,x32,x32'
.*: Error: illegal operands `cv.shuffle2.b x33,x33,x33'
.*: Error: illegal operands `cv.shuffle2.h x32,x32,x32'
.*: Error: illegal operands `cv.shuffle2.h x33,x33,x33'
.*: Error: illegal operands `cv.shuffle.b x32,x32,x32'
.*: Error: illegal operands `cv.shuffle.b x33,x33,x33'
.*: Error: illegal operands `cv.shuffle.h x32,x32,x32'
.*: Error: illegal operands `cv.shuffle.h x33,x33,x33'
.*: Error: illegal operands `cv.shufflei0.sci.b x32,x32,20'
.*: Error: illegal operands `cv.shufflei0.sci.b x33,x33,20'
.*: Error: illegal operands `cv.shufflei0.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.shufflei0.sci.b x6,x7,64'
.*: Error: illegal operands `cv.shufflei1.sci.b x32,x32,20'
.*: Error: illegal operands `cv.shufflei1.sci.b x33,x33,20'
.*: Error: illegal operands `cv.shufflei1.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.shufflei1.sci.b x6,x7,64'
.*: Error: illegal operands `cv.shufflei2.sci.b x32,x32,20'
.*: Error: illegal operands `cv.shufflei2.sci.b x33,x33,20'
.*: Error: illegal operands `cv.shufflei2.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.shufflei2.sci.b x6,x7,64'
.*: Error: illegal operands `cv.shufflei3.sci.b x32,x32,20'
.*: Error: illegal operands `cv.shufflei3.sci.b x33,x33,20'
.*: Error: illegal operands `cv.shufflei3.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.shufflei3.sci.b x6,x7,64'
.*: Error: illegal operands `cv.shuffle.sci.h x32,x32,20'
.*: Error: illegal operands `cv.shuffle.sci.h x33,x33,20'
.*: Error: illegal operands `cv.shuffle.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.shuffle.sci.h x6,x7,64'
.*: Error: illegal operands `cv.sll.b x32,x32,x32'
.*: Error: illegal operands `cv.sll.b x33,x33,x33'
.*: Error: illegal operands `cv.sll.h x32,x32,x32'
.*: Error: illegal operands `cv.sll.h x33,x33,x33'
.*: Error: illegal operands `cv.sll.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.sll.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.sll.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.sll.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.sll.sci.b x32,x32,4'
.*: Error: illegal operands `cv.sll.sci.b x33,x33,4'
.*: Error: illegal operands `cv.sll.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.sll.sci.b x6,x7,8'
.*: Error: illegal operands `cv.sll.sci.h x32,x32,12'
.*: Error: illegal operands `cv.sll.sci.h x33,x33,12'
.*: Error: illegal operands `cv.sll.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.sll.sci.h x6,x7,16'
.*: Error: illegal operands `cv.sra.b x32,x32,x32'
.*: Error: illegal operands `cv.sra.b x33,x33,x33'
.*: Error: illegal operands `cv.sra.h x32,x32,x32'
.*: Error: illegal operands `cv.sra.h x33,x33,x33'
.*: Error: illegal operands `cv.sra.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.sra.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.sra.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.sra.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.sra.sci.b x32,x32,4'
.*: Error: illegal operands `cv.sra.sci.b x33,x33,4'
.*: Error: illegal operands `cv.sra.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.sra.sci.b x6,x7,8'
.*: Error: illegal operands `cv.sra.sci.h x32,x32,12'
.*: Error: illegal operands `cv.sra.sci.h x33,x33,12'
.*: Error: illegal operands `cv.sra.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.sra.sci.h x6,x7,16'
.*: Error: illegal operands `cv.srl.b x32,x32,x32'
.*: Error: illegal operands `cv.srl.b x33,x33,x33'
.*: Error: illegal operands `cv.srl.h x32,x32,x32'
.*: Error: illegal operands `cv.srl.h x33,x33,x33'
.*: Error: illegal operands `cv.srl.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.srl.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.srl.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.srl.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.srl.sci.b x32,x32,4'
.*: Error: illegal operands `cv.srl.sci.b x33,x33,4'
.*: Error: illegal operands `cv.srl.sci.b x6,x7,-1'
.*: Error: illegal operands `cv.srl.sci.b x6,x7,8'
.*: Error: illegal operands `cv.srl.sci.h x32,x32,12'
.*: Error: illegal operands `cv.srl.sci.h x33,x33,12'
.*: Error: illegal operands `cv.srl.sci.h x6,x7,-1'
.*: Error: illegal operands `cv.srl.sci.h x6,x7,16'
.*: Error: illegal operands `cv.sub.b x32,x32,x32'
.*: Error: illegal operands `cv.sub.b x33,x33,x33'
.*: Error: illegal operands `cv.sub.div2 x32,x32,x32'
.*: Error: illegal operands `cv.sub.div2 x33,x33,x33'
.*: Error: illegal operands `cv.sub.div4 x32,x32,x32'
.*: Error: illegal operands `cv.sub.div4 x33,x33,x33'
.*: Error: illegal operands `cv.sub.div8 x32,x32,x32'
.*: Error: illegal operands `cv.sub.div8 x33,x33,x33'
.*: Error: illegal operands `cv.sub.h x32,x32,x32'
.*: Error: illegal operands `cv.sub.h x33,x33,x33'
.*: Error: illegal operands `cv.subrotmj.div2 x32,x32,x32'
.*: Error: illegal operands `cv.subrotmj.div2 x33,x33,x33'
.*: Error: illegal operands `cv.subrotmj.div4 x32,x32,x32'
.*: Error: illegal operands `cv.subrotmj.div4 x33,x33,x33'
.*: Error: illegal operands `cv.subrotmj.div8 x32,x32,x32'
.*: Error: illegal operands `cv.subrotmj.div8 x33,x33,x33'
.*: Error: illegal operands `cv.subrotmj x32,x32,x32'
.*: Error: illegal operands `cv.subrotmj x33,x33,x33'
.*: Error: illegal operands `cv.sub.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.sub.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.sub.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.sub.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.sub.sci.b x32,x32,20'
.*: Error: illegal operands `cv.sub.sci.b x33,x33,20'
.*: Error: illegal operands `cv.sub.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.sub.sci.b x6,x7,32'
.*: Error: illegal operands `cv.sub.sci.h x32,x32,20'
.*: Error: illegal operands `cv.sub.sci.h x33,x33,20'
.*: Error: illegal operands `cv.sub.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.sub.sci.h x6,x7,32'
.*: Error: illegal operands `cv.xor.b x32,x32,x32'
.*: Error: illegal operands `cv.xor.b x33,x33,x33'
.*: Error: illegal operands `cv.xor.h x32,x32,x32'
.*: Error: illegal operands `cv.xor.h x33,x33,x33'
.*: Error: illegal operands `cv.xor.sc.b x32,x32,x32'
.*: Error: illegal operands `cv.xor.sc.b x33,x33,x33'
.*: Error: illegal operands `cv.xor.sc.h x32,x32,x32'
.*: Error: illegal operands `cv.xor.sc.h x33,x33,x33'
.*: Error: illegal operands `cv.xor.sci.b x32,x32,20'
.*: Error: illegal operands `cv.xor.sci.b x33,x33,20'
.*: Error: illegal operands `cv.xor.sci.b x6,x7,-33'
.*: Error: illegal operands `cv.xor.sci.b x6,x7,32'
.*: Error: illegal operands `cv.xor.sci.h x32,x32,20'
.*: Error: illegal operands `cv.xor.sci.h x33,x33,20'
.*: Error: illegal operands `cv.xor.sci.h x6,x7,-33'
.*: Error: illegal operands `cv.xor.sci.h x6,x7,32'

View File

@@ -0,0 +1,582 @@
cv.abs.b x32, x32
cv.abs.b x33, x33
cv.abs.h x32, x32
cv.abs.h x33, x33
cv.add.b x32, x32, x32
cv.add.b x33, x33, x33
cv.add.div2 x32, x32, x32
cv.add.div2 x33, x33, x33
cv.add.div4 x32, x32, x32
cv.add.div4 x33, x33, x33
cv.add.div8 x32, x32, x32
cv.add.div8 x33, x33, x33
cv.add.h x32, x32, x32
cv.add.h x33, x33, x33
cv.add.sc.b x32, x32, x32
cv.add.sc.b x33, x33, x33
cv.add.sc.h x32, x32, x32
cv.add.sc.h x33, x33, x33
cv.add.sci.b x32, x32, 20
cv.add.sci.b x33, x33, 20
cv.add.sci.b x6, x7, -33
cv.add.sci.b x6, x7, 32
cv.add.sci.h x32, x32, 20
cv.add.sci.h x33, x33, 20
cv.add.sci.h x6, x7, -33
cv.add.sci.h x6, x7, 32
cv.and.b x32, x32, x32
cv.and.b x33, x33, x33
cv.and.h x32, x32, x32
cv.and.h x33, x33, x33
cv.and.sc.b x32, x32, x32
cv.and.sc.b x33, x33, x33
cv.and.sc.h x32, x32, x32
cv.and.sc.h x33, x33, x33
cv.and.sci.b x32, x32, 20
cv.and.sci.b x33, x33, 20
cv.and.sci.b x6, x7, -33
cv.and.sci.b x6, x7, 32
cv.and.sci.h x32, x32, 20
cv.and.sci.h x33, x33, 20
cv.and.sci.h x6, x7, -33
cv.and.sci.h x6, x7, 32
cv.avg.b x32, x32, x32
cv.avg.b x33, x33, x33
cv.avg.h x32, x32, x32
cv.avg.h x33, x33, x33
cv.avg.sc.b x32, x32, x32
cv.avg.sc.b x33, x33, x33
cv.avg.sc.h x32, x32, x32
cv.avg.sc.h x33, x33, x33
cv.avg.sci.b x32, x32, 20
cv.avg.sci.b x33, x33, 20
cv.avg.sci.b x6, x7, -33
cv.avg.sci.b x6, x7, 32
cv.avg.sci.h x32, x32, 20
cv.avg.sci.h x33, x33, 20
cv.avg.sci.h x6, x7, -33
cv.avg.sci.h x6, x7, 32
cv.avgu.b x32, x32, x32
cv.avgu.b x33, x33, x33
cv.avgu.h x32, x32, x32
cv.avgu.h x33, x33, x33
cv.avgu.sc.b x32, x32, x32
cv.avgu.sc.b x33, x33, x33
cv.avgu.sc.h x32, x32, x32
cv.avgu.sc.h x33, x33, x33
cv.avgu.sci.b x32, x32, 20
cv.avgu.sci.b x33, x33, 20
cv.avgu.sci.b x6, x7, -1
cv.avgu.sci.b x6, x7, 64
cv.avgu.sci.h x32, x32, 20
cv.avgu.sci.h x33, x33, 20
cv.avgu.sci.h x6, x7, -1
cv.avgu.sci.h x6, x7, 64
cv.cmpeq.b x32, x32, x32
cv.cmpeq.b x33, x33, x33
cv.cmpeq.h x32, x32, x32
cv.cmpeq.h x33, x33, x33
cv.cmpeq.sc.b x32, x32, x32
cv.cmpeq.sc.b x33, x33, x33
cv.cmpeq.sc.h x32, x32, x32
cv.cmpeq.sc.h x33, x33, x33
cv.cmpeq.sci.b x32, x32, 20
cv.cmpeq.sci.b x33, x33, 20
cv.cmpeq.sci.b x6, x7, -33
cv.cmpeq.sci.b x6, x7, 32
cv.cmpeq.sci.h x32, x32, 20
cv.cmpeq.sci.h x33, x33, 20
cv.cmpeq.sci.h x6, x7, -33
cv.cmpeq.sci.h x6, x7, 32
cv.cmpge.b x32, x32, x32
cv.cmpge.b x33, x33, x33
cv.cmpge.h x32, x32, x32
cv.cmpge.h x33, x33, x33
cv.cmpge.sc.b x32, x32, x32
cv.cmpge.sc.b x33, x33, x33
cv.cmpge.sc.h x32, x32, x32
cv.cmpge.sc.h x33, x33, x33
cv.cmpge.sci.b x32, x32, 20
cv.cmpge.sci.b x33, x33, 20
cv.cmpge.sci.b x6, x7, -33
cv.cmpge.sci.b x6, x7, 32
cv.cmpge.sci.h x32, x32, 20
cv.cmpge.sci.h x33, x33, 20
cv.cmpge.sci.h x6, x7, -33
cv.cmpge.sci.h x6, x7, 32
cv.cmpgeu.b x32, x32, x32
cv.cmpgeu.b x33, x33, x33
cv.cmpgeu.h x32, x32, x32
cv.cmpgeu.h x33, x33, x33
cv.cmpgeu.sc.b x32, x32, x32
cv.cmpgeu.sc.b x33, x33, x33
cv.cmpgeu.sc.h x32, x32, x32
cv.cmpgeu.sc.h x33, x33, x33
cv.cmpgeu.sci.b x32, x32, 20
cv.cmpgeu.sci.b x33, x33, 20
cv.cmpgeu.sci.b x6, x7, -1
cv.cmpgeu.sci.b x6, x7, 64
cv.cmpgeu.sci.h x32, x32, 20
cv.cmpgeu.sci.h x33, x33, 20
cv.cmpgeu.sci.h x6, x7, -1
cv.cmpgeu.sci.h x6, x7, 64
cv.cmpgt.b x32, x32, x32
cv.cmpgt.b x33, x33, x33
cv.cmpgt.h x32, x32, x32
cv.cmpgt.h x33, x33, x33
cv.cmpgt.sc.b x32, x32, x32
cv.cmpgt.sc.b x33, x33, x33
cv.cmpgt.sc.h x32, x32, x32
cv.cmpgt.sc.h x33, x33, x33
cv.cmpgt.sci.b x32, x32, 20
cv.cmpgt.sci.b x33, x33, 20
cv.cmpgt.sci.b x6, x7, -33
cv.cmpgt.sci.b x6, x7, 32
cv.cmpgt.sci.h x32, x32, 20
cv.cmpgt.sci.h x33, x33, 20
cv.cmpgt.sci.h x6, x7, -33
cv.cmpgt.sci.h x6, x7, 32
cv.cmpgtu.b x32, x32, x32
cv.cmpgtu.b x33, x33, x33
cv.cmpgtu.h x32, x32, x32
cv.cmpgtu.h x33, x33, x33
cv.cmpgtu.sc.b x32, x32, x32
cv.cmpgtu.sc.b x33, x33, x33
cv.cmpgtu.sc.h x32, x32, x32
cv.cmpgtu.sc.h x33, x33, x33
cv.cmpgtu.sci.b x32, x32, 20
cv.cmpgtu.sci.b x33, x33, 20
cv.cmpgtu.sci.b x6, x7, -1
cv.cmpgtu.sci.b x6, x7, 64
cv.cmpgtu.sci.h x32, x32, 20
cv.cmpgtu.sci.h x33, x33, 20
cv.cmpgtu.sci.h x6, x7, -1
cv.cmpgtu.sci.h x6, x7, 64
cv.cmple.b x32, x32, x32
cv.cmple.b x33, x33, x33
cv.cmple.h x32, x32, x32
cv.cmple.h x33, x33, x33
cv.cmple.sc.b x32, x32, x32
cv.cmple.sc.b x33, x33, x33
cv.cmple.sc.h x32, x32, x32
cv.cmple.sc.h x33, x33, x33
cv.cmple.sci.b x32, x32, 20
cv.cmple.sci.b x33, x33, 20
cv.cmple.sci.b x6, x7, -33
cv.cmple.sci.b x6, x7, 32
cv.cmple.sci.h x32, x32, 20
cv.cmple.sci.h x33, x33, 20
cv.cmple.sci.h x6, x7, -33
cv.cmple.sci.h x6, x7, 32
cv.cmpleu.b x32, x32, x32
cv.cmpleu.b x33, x33, x33
cv.cmpleu.h x32, x32, x32
cv.cmpleu.h x33, x33, x33
cv.cmpleu.sc.b x32, x32, x32
cv.cmpleu.sc.b x33, x33, x33
cv.cmpleu.sc.h x32, x32, x32
cv.cmpleu.sc.h x33, x33, x33
cv.cmpleu.sci.b x32, x32, 20
cv.cmpleu.sci.b x33, x33, 20
cv.cmpleu.sci.b x6, x7, -1
cv.cmpleu.sci.b x6, x7, 64
cv.cmpleu.sci.h x32, x32, 20
cv.cmpleu.sci.h x33, x33, 20
cv.cmpleu.sci.h x6, x7, -1
cv.cmpleu.sci.h x6, x7, 64
cv.cmplt.b x32, x32, x32
cv.cmplt.b x33, x33, x33
cv.cmplt.h x32, x32, x32
cv.cmplt.h x33, x33, x33
cv.cmplt.sc.b x32, x32, x32
cv.cmplt.sc.b x33, x33, x33
cv.cmplt.sc.h x32, x32, x32
cv.cmplt.sc.h x33, x33, x33
cv.cmplt.sci.b x32, x32, 20
cv.cmplt.sci.b x33, x33, 20
cv.cmplt.sci.b x6, x7, -33
cv.cmplt.sci.b x6, x7, 32
cv.cmplt.sci.h x32, x32, 20
cv.cmplt.sci.h x33, x33, 20
cv.cmplt.sci.h x6, x7, -33
cv.cmplt.sci.h x6, x7, 32
cv.cmpltu.b x32, x32, x32
cv.cmpltu.b x33, x33, x33
cv.cmpltu.h x32, x32, x32
cv.cmpltu.h x33, x33, x33
cv.cmpltu.sc.b x32, x32, x32
cv.cmpltu.sc.b x33, x33, x33
cv.cmpltu.sc.h x32, x32, x32
cv.cmpltu.sc.h x33, x33, x33
cv.cmpltu.sci.b x32, x32, 20
cv.cmpltu.sci.b x33, x33, 20
cv.cmpltu.sci.b x6, x7, -1
cv.cmpltu.sci.b x6, x7, 64
cv.cmpltu.sci.h x32, x32, 20
cv.cmpltu.sci.h x33, x33, 20
cv.cmpltu.sci.h x6, x7, -1
cv.cmpltu.sci.h x6, x7, 64
cv.cmpne.b x32, x32, x32
cv.cmpne.b x33, x33, x33
cv.cmpne.h x32, x32, x32
cv.cmpne.h x33, x33, x33
cv.cmpne.sc.b x32, x32, x32
cv.cmpne.sc.b x33, x33, x33
cv.cmpne.sc.h x32, x32, x32
cv.cmpne.sc.h x33, x33, x33
cv.cmpne.sci.b x32, x32, 20
cv.cmpne.sci.b x33, x33, 20
cv.cmpne.sci.b x6, x7, -33
cv.cmpne.sci.b x6, x7, 32
cv.cmpne.sci.h x32, x32, 20
cv.cmpne.sci.h x33, x33, 20
cv.cmpne.sci.h x6, x7, -33
cv.cmpne.sci.h x6, x7, 32
cv.cplxconj x32, x32
cv.cplxconj x33, x33
cv.cplxmul.i.div2 x32, x32, x32
cv.cplxmul.i.div2 x33, x33, x33
cv.cplxmul.i.div4 x32, x32, x32
cv.cplxmul.i.div4 x33, x33, x33
cv.cplxmul.i.div8 x32, x32, x32
cv.cplxmul.i.div8 x33, x33, x33
cv.cplxmul.i x32, x32, x32
cv.cplxmul.i x33, x33, x33
cv.cplxmul.r.div2 x32, x32, x32
cv.cplxmul.r.div2 x33, x33, x33
cv.cplxmul.r.div4 x32, x32, x32
cv.cplxmul.r.div4 x33, x33, x33
cv.cplxmul.r.div8 x32, x32, x32
cv.cplxmul.r.div8 x33, x33, x33
cv.cplxmul.r x32, x32, x32
cv.cplxmul.r x33, x33, x33
cv.dotsp.b x32, x32, x32
cv.dotsp.b x33, x33, x33
cv.dotsp.h x32, x32, x32
cv.dotsp.h x33, x33, x33
cv.dotsp.sc.b x32, x32, x32
cv.dotsp.sc.b x33, x33, x33
cv.dotsp.sc.h x32, x32, x32
cv.dotsp.sc.h x33, x33, x33
cv.dotsp.sci.b x32, x32, 20
cv.dotsp.sci.b x33, x33, 20
cv.dotsp.sci.b x6, x7, -33
cv.dotsp.sci.b x6, x7, 32
cv.dotsp.sci.h x32, x32, 20
cv.dotsp.sci.h x33, x33, 20
cv.dotsp.sci.h x6, x7, -33
cv.dotsp.sci.h x6, x7, 32
cv.dotup.b x32, x32, x32
cv.dotup.b x33, x33, x33
cv.dotup.h x32, x32, x32
cv.dotup.h x33, x33, x33
cv.dotup.sc.b x32, x32, x32
cv.dotup.sc.b x33, x33, x33
cv.dotup.sc.h x32, x32, x32
cv.dotup.sc.h x33, x33, x33
cv.dotup.sci.b x32, x32, 20
cv.dotup.sci.b x33, x33, 20
cv.dotup.sci.b x6, x7, -1
cv.dotup.sci.b x6, x7, 64
cv.dotup.sci.h x32, x32, 20
cv.dotup.sci.h x33, x33, 20
cv.dotup.sci.h x6, x7, -1
cv.dotup.sci.h x6, x7, 64
cv.dotusp.b x32, x32, x32
cv.dotusp.b x33, x33, x33
cv.dotusp.h x32, x32, x32
cv.dotusp.h x33, x33, x33
cv.dotusp.sc.b x32, x32, x32
cv.dotusp.sc.b x33, x33, x33
cv.dotusp.sc.h x32, x32, x32
cv.dotusp.sc.h x33, x33, x33
cv.dotusp.sci.b x32, x32, 20
cv.dotusp.sci.b x33, x33, 20
cv.dotusp.sci.b x6, x7, -33
cv.dotusp.sci.b x6, x7, 32
cv.dotusp.sci.h x32, x32, 20
cv.dotusp.sci.h x33, x33, 20
cv.dotusp.sci.h x6, x7, -33
cv.dotusp.sci.h x6, x7, 32
cv.extract.b x32, x32, 2
cv.extract.b x33, x33, 2
cv.extract.b x6, x7, -1
cv.extract.b x6, x7, 4
cv.extract.h x32, x32, 1
cv.extract.h x33, x33, 1
cv.extract.h x6, x7, -1
cv.extract.h x6, x7, 2
cv.extractu.b x32, x32, 2
cv.extractu.b x33, x33, 2
cv.extractu.b x6, x7, -1
cv.extractu.b x6, x7, 4
cv.extractu.h x32, x32, 1
cv.extractu.h x33, x33, 1
cv.extractu.h x6, x7, -1
cv.extractu.h x6, x7, 2
cv.insert.b x32, x32, 2
cv.insert.b x33, x33, 2
cv.insert.b x6, x7, -1
cv.insert.b x6, x7, 4
cv.insert.h x32, x32, 1
cv.insert.h x33, x33, 1
cv.insert.h x6, x7, -1
cv.insert.h x6, x7, 2
cv.max.b x32, x32, x32
cv.max.b x33, x33, x33
cv.max.h x32, x32, x32
cv.max.h x33, x33, x33
cv.max.sc.b x32, x32, x32
cv.max.sc.b x33, x33, x33
cv.max.sc.h x32, x32, x32
cv.max.sc.h x33, x33, x33
cv.max.sci.b x32, x32, 20
cv.max.sci.b x33, x33, 20
cv.max.sci.b x6, x7, -33
cv.max.sci.b x6, x7, 32
cv.max.sci.h x32, x32, 20
cv.max.sci.h x33, x33, 20
cv.max.sci.h x6, x7, -33
cv.max.sci.h x6, x7, 32
cv.maxu.b x32, x32, x32
cv.maxu.b x33, x33, x33
cv.maxu.h x32, x32, x32
cv.maxu.h x33, x33, x33
cv.maxu.sc.b x32, x32, x32
cv.maxu.sc.b x33, x33, x33
cv.maxu.sc.h x32, x32, x32
cv.maxu.sc.h x33, x33, x33
cv.maxu.sci.b x32, x32, 20
cv.maxu.sci.b x33, x33, 20
cv.maxu.sci.b x6, x7, -1
cv.maxu.sci.b x6, x7, 64
cv.maxu.sci.h x32, x32, 20
cv.maxu.sci.h x33, x33, 20
cv.maxu.sci.h x6, x7, -1
cv.maxu.sci.h x6, x7, 64
cv.min.b x32, x32, x32
cv.min.b x33, x33, x33
cv.min.h x32, x32, x32
cv.min.h x33, x33, x33
cv.min.sc.b x32, x32, x32
cv.min.sc.b x33, x33, x33
cv.min.sc.h x32, x32, x32
cv.min.sc.h x33, x33, x33
cv.min.sci.b x32, x32, 20
cv.min.sci.b x33, x33, 20
cv.min.sci.b x6, x7, -33
cv.min.sci.b x6, x7, 32
cv.min.sci.h x32, x32, 20
cv.min.sci.h x33, x33, 20
cv.min.sci.h x6, x7, -33
cv.min.sci.h x6, x7, 32
cv.minu.b x32, x32, x32
cv.minu.b x33, x33, x33
cv.minu.h x32, x32, x32
cv.minu.h x33, x33, x33
cv.minu.sc.b x32, x32, x32
cv.minu.sc.b x33, x33, x33
cv.minu.sc.h x32, x32, x32
cv.minu.sc.h x33, x33, x33
cv.minu.sci.b x32, x32, 20
cv.minu.sci.b x33, x33, 20
cv.minu.sci.b x6, x7, -1
cv.minu.sci.b x6, x7, 64
cv.minu.sci.h x32, x32, 20
cv.minu.sci.h x33, x33, 20
cv.minu.sci.h x6, x7, -1
cv.minu.sci.h x6, x7, 64
cv.or.b x32, x32, x32
cv.or.b x33, x33, x33
cv.or.h x32, x32, x32
cv.or.h x33, x33, x33
cv.or.sc.b x32, x32, x32
cv.or.sc.b x33, x33, x33
cv.or.sc.h x32, x32, x32
cv.or.sc.h x33, x33, x33
cv.or.sci.b x32, x32, 20
cv.or.sci.b x33, x33, 20
cv.or.sci.b x6, x7, -33
cv.or.sci.b x6, x7, 32
cv.or.sci.h x32, x32, 20
cv.or.sci.h x33, x33, 20
cv.or.sci.h x6, x7, -33
cv.or.sci.h x6, x7, 32
cv.pack x32, x32, x32
cv.pack x33, x33, x33
cv.pack.h x32, x32, x32
cv.pack.h x33, x33, x33
cv.packhi.b x32, x32, x32
cv.packhi.b x33, x33, x33
cv.packlo.b x32, x32, x32
cv.packlo.b x33, x33, x33
cv.sdotsp.b x32, x32, x32
cv.sdotsp.b x33, x33, x33
cv.sdotsp.h x32, x32, x32
cv.sdotsp.h x33, x33, x33
cv.sdotsp.sc.b x32, x32, x32
cv.sdotsp.sc.b x33, x33, x33
cv.sdotsp.sc.h x32, x32, x32
cv.sdotsp.sc.h x33, x33, x33
cv.sdotsp.sci.b x32, x32, 20
cv.sdotsp.sci.b x33, x33, 20
cv.sdotsp.sci.b x6, x7, -33
cv.sdotsp.sci.b x6, x7, 32
cv.sdotsp.sci.h x32, x32, 20
cv.sdotsp.sci.h x33, x33, 20
cv.sdotsp.sci.h x6, x7, -33
cv.sdotsp.sci.h x6, x7, 32
cv.sdotup.b x32, x32, x32
cv.sdotup.b x33, x33, x33
cv.sdotup.h x32, x32, x32
cv.sdotup.h x33, x33, x33
cv.sdotup.sc.b x32, x32, x32
cv.sdotup.sc.b x33, x33, x33
cv.sdotup.sc.h x32, x32, x32
cv.sdotup.sc.h x33, x33, x33
cv.sdotup.sci.b x32, x32, 20
cv.sdotup.sci.b x33, x33, 20
cv.sdotup.sci.b x6, x7, -1
cv.sdotup.sci.b x6, x7, 64
cv.sdotup.sci.h x32, x32, 20
cv.sdotup.sci.h x33, x33, 20
cv.sdotup.sci.h x6, x7, -1
cv.sdotup.sci.h x6, x7, 64
cv.sdotusp.b x32, x32, x32
cv.sdotusp.b x33, x33, x33
cv.sdotusp.h x32, x32, x32
cv.sdotusp.h x33, x33, x33
cv.sdotusp.sc.b x32, x32, x32
cv.sdotusp.sc.b x33, x33, x33
cv.sdotusp.sc.h x32, x32, x32
cv.sdotusp.sc.h x33, x33, x33
cv.sdotusp.sci.b x32, x32, 20
cv.sdotusp.sci.b x33, x33, 20
cv.sdotusp.sci.b x6, x7, -33
cv.sdotusp.sci.b x6, x7, 32
cv.sdotusp.sci.h x32, x32, 20
cv.sdotusp.sci.h x33, x33, 20
cv.sdotusp.sci.h x6, x7, -33
cv.sdotusp.sci.h x6, x7, 32
cv.shuffle2.b x32, x32, x32
cv.shuffle2.b x33, x33, x33
cv.shuffle2.h x32, x32, x32
cv.shuffle2.h x33, x33, x33
cv.shuffle.b x32, x32, x32
cv.shuffle.b x33, x33, x33
cv.shuffle.h x32, x32, x32
cv.shuffle.h x33, x33, x33
cv.shufflei0.sci.b x32, x32, 20
cv.shufflei0.sci.b x33, x33, 20
cv.shufflei0.sci.b x6, x7, -1
cv.shufflei0.sci.b x6, x7, 64
cv.shufflei1.sci.b x32, x32, 20
cv.shufflei1.sci.b x33, x33, 20
cv.shufflei1.sci.b x6, x7, -1
cv.shufflei1.sci.b x6, x7, 64
cv.shufflei2.sci.b x32, x32, 20
cv.shufflei2.sci.b x33, x33, 20
cv.shufflei2.sci.b x6, x7, -1
cv.shufflei2.sci.b x6, x7, 64
cv.shufflei3.sci.b x32, x32, 20
cv.shufflei3.sci.b x33, x33, 20
cv.shufflei3.sci.b x6, x7, -1
cv.shufflei3.sci.b x6, x7, 64
cv.shuffle.sci.h x32, x32, 20
cv.shuffle.sci.h x33, x33, 20
cv.shuffle.sci.h x6, x7, -1
cv.shuffle.sci.h x6, x7, 64
cv.sll.b x32, x32, x32
cv.sll.b x33, x33, x33
cv.sll.h x32, x32, x32
cv.sll.h x33, x33, x33
cv.sll.sc.b x32, x32, x32
cv.sll.sc.b x33, x33, x33
cv.sll.sc.h x32, x32, x32
cv.sll.sc.h x33, x33, x33
cv.sll.sci.b x32, x32, 4
cv.sll.sci.b x33, x33, 4
cv.sll.sci.b x6, x7, -1
cv.sll.sci.b x6, x7, 8
cv.sll.sci.h x32, x32, 12
cv.sll.sci.h x33, x33, 12
cv.sll.sci.h x6, x7, -1
cv.sll.sci.h x6, x7, 16
cv.sra.b x32, x32, x32
cv.sra.b x33, x33, x33
cv.sra.h x32, x32, x32
cv.sra.h x33, x33, x33
cv.sra.sc.b x32, x32, x32
cv.sra.sc.b x33, x33, x33
cv.sra.sc.h x32, x32, x32
cv.sra.sc.h x33, x33, x33
cv.sra.sci.b x32, x32, 4
cv.sra.sci.b x33, x33, 4
cv.sra.sci.b x6, x7, -1
cv.sra.sci.b x6, x7, 8
cv.sra.sci.h x32, x32, 12
cv.sra.sci.h x33, x33, 12
cv.sra.sci.h x6, x7, -1
cv.sra.sci.h x6, x7, 16
cv.srl.b x32, x32, x32
cv.srl.b x33, x33, x33
cv.srl.h x32, x32, x32
cv.srl.h x33, x33, x33
cv.srl.sc.b x32, x32, x32
cv.srl.sc.b x33, x33, x33
cv.srl.sc.h x32, x32, x32
cv.srl.sc.h x33, x33, x33
cv.srl.sci.b x32, x32, 4
cv.srl.sci.b x33, x33, 4
cv.srl.sci.b x6, x7, -1
cv.srl.sci.b x6, x7, 8
cv.srl.sci.h x32, x32, 12
cv.srl.sci.h x33, x33, 12
cv.srl.sci.h x6, x7, -1
cv.srl.sci.h x6, x7, 16
cv.sub.b x32, x32, x32
cv.sub.b x33, x33, x33
cv.sub.div2 x32, x32, x32
cv.sub.div2 x33, x33, x33
cv.sub.div4 x32, x32, x32
cv.sub.div4 x33, x33, x33
cv.sub.div8 x32, x32, x32
cv.sub.div8 x33, x33, x33
cv.sub.h x32, x32, x32
cv.sub.h x33, x33, x33
cv.subrotmj.div2 x32, x32, x32
cv.subrotmj.div2 x33, x33, x33
cv.subrotmj.div4 x32, x32, x32
cv.subrotmj.div4 x33, x33, x33
cv.subrotmj.div8 x32, x32, x32
cv.subrotmj.div8 x33, x33, x33
cv.subrotmj x32, x32, x32
cv.subrotmj x33, x33, x33
cv.sub.sc.b x32, x32, x32
cv.sub.sc.b x33, x33, x33
cv.sub.sc.h x32, x32, x32
cv.sub.sc.h x33, x33, x33
cv.sub.sci.b x32, x32, 20
cv.sub.sci.b x33, x33, 20
cv.sub.sci.b x6, x7, -33
cv.sub.sci.b x6, x7, 32
cv.sub.sci.h x32, x32, 20
cv.sub.sci.h x33, x33, 20
cv.sub.sci.h x6, x7, -33
cv.sub.sci.h x6, x7, 32
cv.xor.b x32, x32, x32
cv.xor.b x33, x33, x33
cv.xor.h x32, x32, x32
cv.xor.h x33, x33, x33
cv.xor.sc.b x32, x32, x32
cv.xor.sc.b x33, x33, x33
cv.xor.sc.h x32, x32, x32
cv.xor.sc.h x33, x33, x33
cv.xor.sci.b x32, x32, 20
cv.xor.sci.b x33, x33, 20
cv.xor.sci.b x6, x7, -33
cv.xor.sci.b x6, x7, 32
cv.xor.sci.h x32, x32, 20
cv.xor.sci.h x33, x33, 20
cv.xor.sci.h x6, x7, -33
cv.xor.sci.h x6, x7, 32

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2687,6 +2687,449 @@
#define MASK_CV_BCLR 0xc000707f
#define MASK_CV_BSET 0xc000707f
#define MASK_CV_BITREV 0xf800707f
/* Vendor-specific (CORE-V) Xcvsimd instructions. */
#define MATCH_CV_ADD_H 0x7b
#define MATCH_CV_ADD_B 0x107b
#define MATCH_CV_ADD_SC_H 0x407b
#define MATCH_CV_ADD_SC_B 0x507b
#define MATCH_CV_ADD_SCI_H 0x607b
#define MATCH_CV_ADD_SCI_B 0x707b
#define MATCH_CV_SUB_H 0x800007b
#define MATCH_CV_SUB_B 0x800107b
#define MATCH_CV_SUB_SC_H 0x800407b
#define MATCH_CV_SUB_SC_B 0x800507b
#define MATCH_CV_SUB_SCI_H 0x800607b
#define MATCH_CV_SUB_SCI_B 0x800707b
#define MATCH_CV_AVG_H 0x1000007b
#define MATCH_CV_AVG_B 0x1000107b
#define MATCH_CV_AVG_SC_H 0x1000407b
#define MATCH_CV_AVG_SC_B 0x1000507b
#define MATCH_CV_AVG_SCI_H 0x1000607b
#define MATCH_CV_AVG_SCI_B 0x1000707b
#define MATCH_CV_AVGU_H 0x1800007b
#define MATCH_CV_AVGU_B 0x1800107b
#define MATCH_CV_AVGU_SC_H 0x1800407b
#define MATCH_CV_AVGU_SC_B 0x1800507b
#define MATCH_CV_AVGU_SCI_H 0x1800607b
#define MATCH_CV_AVGU_SCI_B 0x1800707b
#define MATCH_CV_MIN_H 0x2000007b
#define MATCH_CV_MIN_B 0x2000107b
#define MATCH_CV_MIN_SC_H 0x2000407b
#define MATCH_CV_MIN_SC_B 0x2000507b
#define MATCH_CV_MIN_SCI_H 0x2000607b
#define MATCH_CV_MIN_SCI_B 0x2000707b
#define MATCH_CV_MINU_H 0x2800007b
#define MATCH_CV_MINU_B 0x2800107b
#define MATCH_CV_MINU_SC_H 0x2800407b
#define MATCH_CV_MINU_SC_B 0x2800507b
#define MATCH_CV_MINU_SCI_H 0x2800607b
#define MATCH_CV_MINU_SCI_B 0x2800707b
#define MATCH_CV_MAX_H 0x3000007b
#define MATCH_CV_MAX_B 0x3000107b
#define MATCH_CV_MAX_SC_H 0x3000407b
#define MATCH_CV_MAX_SC_B 0x3000507b
#define MATCH_CV_MAX_SCI_H 0x3000607b
#define MATCH_CV_MAX_SCI_B 0x3000707b
#define MATCH_CV_MAXU_H 0x3800007b
#define MATCH_CV_MAXU_B 0x3800107b
#define MATCH_CV_MAXU_SC_H 0x3800407b
#define MATCH_CV_MAXU_SC_B 0x3800507b
#define MATCH_CV_MAXU_SCI_H 0x3800607b
#define MATCH_CV_MAXU_SCI_B 0x3800707b
#define MATCH_CV_SRL_H 0x4000007b
#define MATCH_CV_SRL_B 0x4000107b
#define MATCH_CV_SRL_SC_H 0x4000407b
#define MATCH_CV_SRL_SC_B 0x4000507b
#define MATCH_CV_SRL_SCI_H 0x4000607b
#define MATCH_CV_SRL_SCI_B 0x4000707b
#define MATCH_CV_SRA_H 0x4800007b
#define MATCH_CV_SRA_B 0x4800107b
#define MATCH_CV_SRA_SC_H 0x4800407b
#define MATCH_CV_SRA_SC_B 0x4800507b
#define MATCH_CV_SRA_SCI_H 0x4800607b
#define MATCH_CV_SRA_SCI_B 0x4800707b
#define MATCH_CV_SLL_H 0x5000007b
#define MATCH_CV_SLL_B 0x5000107b
#define MATCH_CV_SLL_SC_H 0x5000407b
#define MATCH_CV_SLL_SC_B 0x5000507b
#define MATCH_CV_SLL_SCI_H 0x5000607b
#define MATCH_CV_SLL_SCI_B 0x5000707b
#define MATCH_CV_OR_H 0x5800007b
#define MATCH_CV_OR_B 0x5800107b
#define MATCH_CV_OR_SC_H 0x5800407b
#define MATCH_CV_OR_SC_B 0x5800507b
#define MATCH_CV_OR_SCI_H 0x5800607b
#define MATCH_CV_OR_SCI_B 0x5800707b
#define MATCH_CV_XOR_H 0x6000007b
#define MATCH_CV_XOR_B 0x6000107b
#define MATCH_CV_XOR_SC_H 0x6000407b
#define MATCH_CV_XOR_SC_B 0x6000507b
#define MATCH_CV_XOR_SCI_H 0x6000607b
#define MATCH_CV_XOR_SCI_B 0x6000707b
#define MATCH_CV_AND_H 0x6800007b
#define MATCH_CV_AND_B 0x6800107b
#define MATCH_CV_AND_SC_H 0x6800407b
#define MATCH_CV_AND_SC_B 0x6800507b
#define MATCH_CV_AND_SCI_H 0x6800607b
#define MATCH_CV_AND_SCI_B 0x6800707b
#define MATCH_CV_ABS_H 0x7000007b
#define MATCH_CV_ABS_B 0x7000107b
#define MATCH_CV_DOTUP_H 0x8000007b
#define MATCH_CV_DOTUP_B 0x8000107b
#define MATCH_CV_DOTUP_SC_H 0x8000407b
#define MATCH_CV_DOTUP_SC_B 0x8000507b
#define MATCH_CV_DOTUP_SCI_H 0x8000607b
#define MATCH_CV_DOTUP_SCI_B 0x8000707b
#define MATCH_CV_DOTUSP_H 0x8800007b
#define MATCH_CV_DOTUSP_B 0x8800107b
#define MATCH_CV_DOTUSP_SC_H 0x8800407b
#define MATCH_CV_DOTUSP_SC_B 0x8800507b
#define MATCH_CV_DOTUSP_SCI_H 0x8800607b
#define MATCH_CV_DOTUSP_SCI_B 0x8800707b
#define MATCH_CV_DOTSP_H 0x9000007b
#define MATCH_CV_DOTSP_B 0x9000107b
#define MATCH_CV_DOTSP_SC_H 0x9000407b
#define MATCH_CV_DOTSP_SC_B 0x9000507b
#define MATCH_CV_DOTSP_SCI_H 0x9000607b
#define MATCH_CV_DOTSP_SCI_B 0x9000707b
#define MATCH_CV_SDOTUP_H 0x9800007b
#define MATCH_CV_SDOTUP_B 0x9800107b
#define MATCH_CV_SDOTUP_SC_H 0x9800407b
#define MATCH_CV_SDOTUP_SC_B 0x9800507b
#define MATCH_CV_SDOTUP_SCI_H 0x9800607b
#define MATCH_CV_SDOTUP_SCI_B 0x9800707b
#define MATCH_CV_SDOTUSP_H 0xa000007b
#define MATCH_CV_SDOTUSP_B 0xa000107b
#define MATCH_CV_SDOTUSP_SC_H 0xa000407b
#define MATCH_CV_SDOTUSP_SC_B 0xa000507b
#define MATCH_CV_SDOTUSP_SCI_H 0xa000607b
#define MATCH_CV_SDOTUSP_SCI_B 0xa000707b
#define MATCH_CV_SDOTSP_H 0xa800007b
#define MATCH_CV_SDOTSP_B 0xa800107b
#define MATCH_CV_SDOTSP_SC_H 0xa800407b
#define MATCH_CV_SDOTSP_SC_B 0xa800507b
#define MATCH_CV_SDOTSP_SCI_H 0xa800607b
#define MATCH_CV_SDOTSP_SCI_B 0xa800707b
#define MATCH_CV_EXTRACT_H 0xb800007b
#define MATCH_CV_EXTRACT_B 0xb800107b
#define MATCH_CV_EXTRACTU_H 0xb800207b
#define MATCH_CV_EXTRACTU_B 0xb800307b
#define MATCH_CV_INSERT_H 0xb800407b
#define MATCH_CV_INSERT_B 0xb800507b
#define MATCH_CV_SHUFFLE_H 0xc000007b
#define MATCH_CV_SHUFFLE_B 0xc000107b
#define MATCH_CV_SHUFFLE_SCI_H 0xc000607b
#define MATCH_CV_SHUFFLEI0_SCI_B 0xc000707b
#define MATCH_CV_SHUFFLEI1_SCI_B 0xc800707b
#define MATCH_CV_SHUFFLEI2_SCI_B 0xd000707b
#define MATCH_CV_SHUFFLEI3_SCI_B 0xd800707b
#define MATCH_CV_SHUFFLE2_H 0xe000007b
#define MATCH_CV_SHUFFLE2_B 0xe000107b
#define MATCH_CV_PACK 0xf000007b
#define MATCH_CV_PACK_H 0xf200007b
#define MATCH_CV_PACKHI_B 0xfa00107b
#define MATCH_CV_PACKLO_B 0xf800107b
#define MATCH_CV_CMPEQ_H 0x400007b
#define MATCH_CV_CMPEQ_B 0x400107b
#define MATCH_CV_CMPEQ_SC_H 0x400407b
#define MATCH_CV_CMPEQ_SC_B 0x400507b
#define MATCH_CV_CMPEQ_SCI_H 0x400607b
#define MATCH_CV_CMPEQ_SCI_B 0x400707b
#define MATCH_CV_CMPNE_H 0xc00007b
#define MATCH_CV_CMPNE_B 0xc00107b
#define MATCH_CV_CMPNE_SC_H 0xc00407b
#define MATCH_CV_CMPNE_SC_B 0xc00507b
#define MATCH_CV_CMPNE_SCI_H 0xc00607b
#define MATCH_CV_CMPNE_SCI_B 0xc00707b
#define MATCH_CV_CMPGT_H 0x1400007b
#define MATCH_CV_CMPGT_B 0x1400107b
#define MATCH_CV_CMPGT_SC_H 0x1400407b
#define MATCH_CV_CMPGT_SC_B 0x1400507b
#define MATCH_CV_CMPGT_SCI_H 0x1400607b
#define MATCH_CV_CMPGT_SCI_B 0x1400707b
#define MATCH_CV_CMPGE_H 0x1c00007b
#define MATCH_CV_CMPGE_B 0x1c00107b
#define MATCH_CV_CMPGE_SC_H 0x1c00407b
#define MATCH_CV_CMPGE_SC_B 0x1c00507b
#define MATCH_CV_CMPGE_SCI_H 0x1c00607b
#define MATCH_CV_CMPGE_SCI_B 0x1c00707b
#define MATCH_CV_CMPLT_H 0x2400007b
#define MATCH_CV_CMPLT_B 0x2400107b
#define MATCH_CV_CMPLT_SC_H 0x2400407b
#define MATCH_CV_CMPLT_SC_B 0x2400507b
#define MATCH_CV_CMPLT_SCI_H 0x2400607b
#define MATCH_CV_CMPLT_SCI_B 0x2400707b
#define MATCH_CV_CMPLE_H 0x2c00007b
#define MATCH_CV_CMPLE_B 0x2c00107b
#define MATCH_CV_CMPLE_SC_H 0x2c00407b
#define MATCH_CV_CMPLE_SC_B 0x2c00507b
#define MATCH_CV_CMPLE_SCI_H 0x2c00607b
#define MATCH_CV_CMPLE_SCI_B 0x2c00707b
#define MATCH_CV_CMPGTU_H 0x3400007b
#define MATCH_CV_CMPGTU_B 0x3400107b
#define MATCH_CV_CMPGTU_SC_H 0x3400407b
#define MATCH_CV_CMPGTU_SC_B 0x3400507b
#define MATCH_CV_CMPGTU_SCI_H 0x3400607b
#define MATCH_CV_CMPGTU_SCI_B 0x3400707b
#define MATCH_CV_CMPGEU_H 0x3c00007b
#define MATCH_CV_CMPGEU_B 0x3c00107b
#define MATCH_CV_CMPGEU_SC_H 0x3c00407b
#define MATCH_CV_CMPGEU_SC_B 0x3c00507b
#define MATCH_CV_CMPGEU_SCI_H 0x3c00607b
#define MATCH_CV_CMPGEU_SCI_B 0x3c00707b
#define MATCH_CV_CMPLTU_H 0x4400007b
#define MATCH_CV_CMPLTU_B 0x4400107b
#define MATCH_CV_CMPLTU_SC_H 0x4400407b
#define MATCH_CV_CMPLTU_SC_B 0x4400507b
#define MATCH_CV_CMPLTU_SCI_H 0x4400607b
#define MATCH_CV_CMPLTU_SCI_B 0x4400707b
#define MATCH_CV_CMPLEU_H 0x4c00007b
#define MATCH_CV_CMPLEU_B 0x4c00107b
#define MATCH_CV_CMPLEU_SC_H 0x4c00407b
#define MATCH_CV_CMPLEU_SC_B 0x4c00507b
#define MATCH_CV_CMPLEU_SCI_H 0x4c00607b
#define MATCH_CV_CMPLEU_SCI_B 0x4c00707b
#define MATCH_CV_CPLXMUL_R 0x5400007b
#define MATCH_CV_CPLXMUL_I 0x5600007b
#define MATCH_CV_CPLXMUL_R_DIV2 0x5400207b
#define MATCH_CV_CPLXMUL_I_DIV2 0x5600207b
#define MATCH_CV_CPLXMUL_R_DIV4 0x5400407b
#define MATCH_CV_CPLXMUL_I_DIV4 0x5600407b
#define MATCH_CV_CPLXMUL_R_DIV8 0x5400607b
#define MATCH_CV_CPLXMUL_I_DIV8 0x5600607b
#define MATCH_CV_CPLXCONJ 0x5c00007b
#define MATCH_CV_SUBROTMJ 0x6400007b
#define MATCH_CV_SUBROTMJ_DIV2 0x6400207b
#define MATCH_CV_SUBROTMJ_DIV4 0x6400407b
#define MATCH_CV_SUBROTMJ_DIV8 0x6400607b
#define MATCH_CV_ADD_DIV2 0x6c00207b
#define MATCH_CV_ADD_DIV4 0x6c00407b
#define MATCH_CV_ADD_DIV8 0x6c00607b
#define MATCH_CV_SUB_DIV2 0x7400207b
#define MATCH_CV_SUB_DIV4 0x7400407b
#define MATCH_CV_SUB_DIV8 0x7400607b
#define MASK_CV_ADD_H 0xfe00707f
#define MASK_CV_ADD_B 0xfe00707f
#define MASK_CV_ADD_SC_H 0xfe00707f
#define MASK_CV_ADD_SC_B 0xfe00707f
#define MASK_CV_ADD_SCI_H 0xfc00707f
#define MASK_CV_ADD_SCI_B 0xfc00707f
#define MASK_CV_SUB_H 0xfe00707f
#define MASK_CV_SUB_B 0xfe00707f
#define MASK_CV_SUB_SC_H 0xfe00707f
#define MASK_CV_SUB_SC_B 0xfe00707f
#define MASK_CV_SUB_SCI_H 0xfc00707f
#define MASK_CV_SUB_SCI_B 0xfc00707f
#define MASK_CV_AVG_H 0xfe00707f
#define MASK_CV_AVG_B 0xfe00707f
#define MASK_CV_AVG_SC_H 0xfe00707f
#define MASK_CV_AVG_SC_B 0xfe00707f
#define MASK_CV_AVG_SCI_H 0xfc00707f
#define MASK_CV_AVG_SCI_B 0xfc00707f
#define MASK_CV_AVGU_H 0xfe00707f
#define MASK_CV_AVGU_B 0xfe00707f
#define MASK_CV_AVGU_SC_H 0xfe00707f
#define MASK_CV_AVGU_SC_B 0xfe00707f
#define MASK_CV_AVGU_SCI_H 0xfc00707f
#define MASK_CV_AVGU_SCI_B 0xfc00707f
#define MASK_CV_MIN_H 0xfe00707f
#define MASK_CV_MIN_B 0xfe00707f
#define MASK_CV_MIN_SC_H 0xfe00707f
#define MASK_CV_MIN_SC_B 0xfe00707f
#define MASK_CV_MIN_SCI_H 0xfc00707f
#define MASK_CV_MIN_SCI_B 0xfc00707f
#define MASK_CV_MINU_H 0xfe00707f
#define MASK_CV_MINU_B 0xfe00707f
#define MASK_CV_MINU_SC_H 0xfe00707f
#define MASK_CV_MINU_SC_B 0xfe00707f
#define MASK_CV_MINU_SCI_H 0xfc00707f
#define MASK_CV_MINU_SCI_B 0xfc00707f
#define MASK_CV_MAX_H 0xfe00707f
#define MASK_CV_MAX_B 0xfe00707f
#define MASK_CV_MAX_SC_H 0xfe00707f
#define MASK_CV_MAX_SC_B 0xfe00707f
#define MASK_CV_MAX_SCI_H 0xfc00707f
#define MASK_CV_MAX_SCI_B 0xfc00707f
#define MASK_CV_MAXU_H 0xfe00707f
#define MASK_CV_MAXU_B 0xfe00707f
#define MASK_CV_MAXU_SC_H 0xfe00707f
#define MASK_CV_MAXU_SC_B 0xfe00707f
#define MASK_CV_MAXU_SCI_H 0xfc00707f
#define MASK_CV_MAXU_SCI_B 0xfc00707f
#define MASK_CV_SRL_H 0xfe00707f
#define MASK_CV_SRL_B 0xfe00707f
#define MASK_CV_SRL_SC_H 0xfe00707f
#define MASK_CV_SRL_SC_B 0xfe00707f
#define MASK_CV_SRL_SCI_H 0xfc00707f
#define MASK_CV_SRL_SCI_B 0xfc00707f
#define MASK_CV_SRA_H 0xfe00707f
#define MASK_CV_SRA_B 0xfe00707f
#define MASK_CV_SRA_SC_H 0xfe00707f
#define MASK_CV_SRA_SC_B 0xfe00707f
#define MASK_CV_SRA_SCI_H 0xfc00707f
#define MASK_CV_SRA_SCI_B 0xfc00707f
#define MASK_CV_SLL_H 0xfe00707f
#define MASK_CV_SLL_B 0xfe00707f
#define MASK_CV_SLL_SC_H 0xfe00707f
#define MASK_CV_SLL_SC_B 0xfe00707f
#define MASK_CV_SLL_SCI_H 0xfc00707f
#define MASK_CV_SLL_SCI_B 0xfc00707f
#define MASK_CV_OR_H 0xfe00707f
#define MASK_CV_OR_B 0xfe00707f
#define MASK_CV_OR_SC_H 0xfe00707f
#define MASK_CV_OR_SC_B 0xfe00707f
#define MASK_CV_OR_SCI_H 0xfc00707f
#define MASK_CV_OR_SCI_B 0xfc00707f
#define MASK_CV_XOR_H 0xfe00707f
#define MASK_CV_XOR_B 0xfe00707f
#define MASK_CV_XOR_SC_H 0xfe00707f
#define MASK_CV_XOR_SC_B 0xfe00707f
#define MASK_CV_XOR_SCI_H 0xfc00707f
#define MASK_CV_XOR_SCI_B 0xfc00707f
#define MASK_CV_AND_H 0xfe00707f
#define MASK_CV_AND_B 0xfe00707f
#define MASK_CV_AND_SC_H 0xfe00707f
#define MASK_CV_AND_SC_B 0xfe00707f
#define MASK_CV_AND_SCI_H 0xfc00707f
#define MASK_CV_AND_SCI_B 0xfc00707f
#define MASK_CV_ABS_H 0xfff0707f
#define MASK_CV_ABS_B 0xfff0707f
#define MASK_CV_DOTUP_H 0xfe00707f
#define MASK_CV_DOTUP_B 0xfe00707f
#define MASK_CV_DOTUP_SC_H 0xfe00707f
#define MASK_CV_DOTUP_SC_B 0xfe00707f
#define MASK_CV_DOTUP_SCI_H 0xfc00707f
#define MASK_CV_DOTUP_SCI_B 0xfc00707f
#define MASK_CV_DOTUSP_H 0xfe00707f
#define MASK_CV_DOTUSP_B 0xfe00707f
#define MASK_CV_DOTUSP_SC_H 0xfe00707f
#define MASK_CV_DOTUSP_SC_B 0xfe00707f
#define MASK_CV_DOTUSP_SCI_H 0xfc00707f
#define MASK_CV_DOTUSP_SCI_B 0xfc00707f
#define MASK_CV_DOTSP_H 0xfe00707f
#define MASK_CV_DOTSP_B 0xfe00707f
#define MASK_CV_DOTSP_SC_H 0xfe00707f
#define MASK_CV_DOTSP_SC_B 0xfe00707f
#define MASK_CV_DOTSP_SCI_H 0xfc00707f
#define MASK_CV_DOTSP_SCI_B 0xfc00707f
#define MASK_CV_SDOTUP_H 0xfe00707f
#define MASK_CV_SDOTUP_B 0xfe00707f
#define MASK_CV_SDOTUP_SC_H 0xfe00707f
#define MASK_CV_SDOTUP_SC_B 0xfe00707f
#define MASK_CV_SDOTUP_SCI_H 0xfc00707f
#define MASK_CV_SDOTUP_SCI_B 0xfc00707f
#define MASK_CV_SDOTUSP_H 0xfe00707f
#define MASK_CV_SDOTUSP_B 0xfe00707f
#define MASK_CV_SDOTUSP_SC_H 0xfe00707f
#define MASK_CV_SDOTUSP_SC_B 0xfe00707f
#define MASK_CV_SDOTUSP_SCI_H 0xfc00707f
#define MASK_CV_SDOTUSP_SCI_B 0xfc00707f
#define MASK_CV_SDOTSP_H 0xfe00707f
#define MASK_CV_SDOTSP_B 0xfe00707f
#define MASK_CV_SDOTSP_SC_H 0xfe00707f
#define MASK_CV_SDOTSP_SC_B 0xfe00707f
#define MASK_CV_SDOTSP_SCI_H 0xfc00707f
#define MASK_CV_SDOTSP_SCI_B 0xfc00707f
#define MASK_CV_EXTRACT_H 0xfc00707f
#define MASK_CV_EXTRACT_B 0xfc00707f
#define MASK_CV_EXTRACTU_H 0xfc00707f
#define MASK_CV_EXTRACTU_B 0xfc00707f
#define MASK_CV_INSERT_H 0xfc00707f
#define MASK_CV_INSERT_B 0xfc00707f
#define MASK_CV_SHUFFLE_H 0xfe00707f
#define MASK_CV_SHUFFLE_B 0xfe00707f
#define MASK_CV_SHUFFLE_SCI_H 0xfc00707f
#define MASK_CV_SHUFFLEI0_SCI_B 0xfc00707f
#define MASK_CV_SHUFFLEI1_SCI_B 0xfc00707f
#define MASK_CV_SHUFFLEI2_SCI_B 0xfc00707f
#define MASK_CV_SHUFFLEI3_SCI_B 0xfc00707f
#define MASK_CV_SHUFFLE2_H 0xfe00707f
#define MASK_CV_SHUFFLE2_B 0xfe00707f
#define MASK_CV_PACK 0xfe00707f
#define MASK_CV_PACK_H 0xfe00707f
#define MASK_CV_PACKHI_B 0xfe00707f
#define MASK_CV_PACKLO_B 0xfe00707f
#define MASK_CV_CMPEQ_H 0xfe00707f
#define MASK_CV_CMPEQ_B 0xfe00707f
#define MASK_CV_CMPEQ_SC_H 0xfe00707f
#define MASK_CV_CMPEQ_SC_B 0xfe00707f
#define MASK_CV_CMPEQ_SCI_H 0xfc00707f
#define MASK_CV_CMPEQ_SCI_B 0xfc00707f
#define MASK_CV_CMPNE_H 0xfe00707f
#define MASK_CV_CMPNE_B 0xfe00707f
#define MASK_CV_CMPNE_SC_H 0xfe00707f
#define MASK_CV_CMPNE_SC_B 0xfe00707f
#define MASK_CV_CMPNE_SCI_H 0xfc00707f
#define MASK_CV_CMPNE_SCI_B 0xfc00707f
#define MASK_CV_CMPGT_H 0xfe00707f
#define MASK_CV_CMPGT_B 0xfe00707f
#define MASK_CV_CMPGT_SC_H 0xfe00707f
#define MASK_CV_CMPGT_SC_B 0xfe00707f
#define MASK_CV_CMPGT_SCI_H 0xfc00707f
#define MASK_CV_CMPGT_SCI_B 0xfc00707f
#define MASK_CV_CMPGE_H 0xfe00707f
#define MASK_CV_CMPGE_B 0xfe00707f
#define MASK_CV_CMPGE_SC_H 0xfe00707f
#define MASK_CV_CMPGE_SC_B 0xfe00707f
#define MASK_CV_CMPGE_SCI_H 0xfc00707f
#define MASK_CV_CMPGE_SCI_B 0xfc00707f
#define MASK_CV_CMPLT_H 0xfe00707f
#define MASK_CV_CMPLT_B 0xfe00707f
#define MASK_CV_CMPLT_SC_H 0xfe00707f
#define MASK_CV_CMPLT_SC_B 0xfe00707f
#define MASK_CV_CMPLT_SCI_H 0xfc00707f
#define MASK_CV_CMPLT_SCI_B 0xfc00707f
#define MASK_CV_CMPLE_H 0xfe00707f
#define MASK_CV_CMPLE_B 0xfe00707f
#define MASK_CV_CMPLE_SC_H 0xfe00707f
#define MASK_CV_CMPLE_SC_B 0xfe00707f
#define MASK_CV_CMPLE_SCI_H 0xfc00707f
#define MASK_CV_CMPLE_SCI_B 0xfc00707f
#define MASK_CV_CMPGTU_H 0xfe00707f
#define MASK_CV_CMPGTU_B 0xfe00707f
#define MASK_CV_CMPGTU_SC_H 0xfe00707f
#define MASK_CV_CMPGTU_SC_B 0xfe00707f
#define MASK_CV_CMPGTU_SCI_H 0xfc00707f
#define MASK_CV_CMPGTU_SCI_B 0xfc00707f
#define MASK_CV_CMPGEU_H 0xfe00707f
#define MASK_CV_CMPGEU_B 0xfe00707f
#define MASK_CV_CMPGEU_SC_H 0xfe00707f
#define MASK_CV_CMPGEU_SC_B 0xfe00707f
#define MASK_CV_CMPGEU_SCI_H 0xfc00707f
#define MASK_CV_CMPGEU_SC_B 0xfe00707f
#define MASK_CV_CMPGEU_SCI_H 0xfc00707f
#define MASK_CV_CMPGEU_SCI_B 0xfc00707f
#define MASK_CV_CMPLTU_H 0xfe00707f
#define MASK_CV_CMPLTU_B 0xfe00707f
#define MASK_CV_CMPLTU_SC_H 0xfe00707f
#define MASK_CV_CMPLTU_SC_B 0xfe00707f
#define MASK_CV_CMPLTU_SCI_H 0xfc00707f
#define MASK_CV_CMPLTU_SCI_B 0xfc00707f
#define MASK_CV_CMPLEU_H 0xfe00707f
#define MASK_CV_CMPLEU_B 0xfe00707f
#define MASK_CV_CMPLEU_SC_H 0xfe00707f
#define MASK_CV_CMPLEU_SC_B 0xfe00707f
#define MASK_CV_CMPLEU_SCI_H 0xfc00707f
#define MASK_CV_CMPLEU_SCI_B 0xfc00707f
#define MASK_CV_CPLXMUL_R 0xfe00707f
#define MASK_CV_CPLXMUL_I 0xfe00707f
#define MASK_CV_CPLXMUL_R_DIV2 0xfe00707f
#define MASK_CV_CPLXMUL_I_DIV2 0xfe00707f
#define MASK_CV_CPLXMUL_R_DIV4 0xfe00707f
#define MASK_CV_CPLXMUL_I_DIV4 0xfe00707f
#define MASK_CV_CPLXMUL_R_DIV8 0xfe00707f
#define MASK_CV_CPLXMUL_I_DIV8 0xfe00707f
#define MASK_CV_CPLXCONJ 0xfff0707f
#define MASK_CV_SUBROTMJ 0xfe00707f
#define MASK_CV_SUBROTMJ_DIV2 0xfe00707f
#define MASK_CV_SUBROTMJ_DIV4 0xfe00707f
#define MASK_CV_SUBROTMJ_DIV8 0xfe00707f
#define MASK_CV_ADD_DIV2 0xfe00707f
#define MASK_CV_ADD_DIV4 0xfe00707f
#define MASK_CV_ADD_DIV8 0xfe00707f
#define MASK_CV_SUB_DIV2 0xfe00707f
#define MASK_CV_SUB_DIV4 0xfe00707f
#define MASK_CV_SUB_DIV8 0xfe00707f
/* Vendor-specific (T-Head) XTheadBa instructions. */
#define MATCH_TH_ADDSL 0x0000100b
#define MASK_TH_ADDSL 0xf800707f

View File

@@ -126,6 +126,10 @@ static inline unsigned int riscv_insn_length (insn_t insn)
(RV_X(x, 25, 5))
#define EXTRACT_CV_BITMANIP_UIMM2(x) \
(RV_X(x, 25, 2))
#define EXTRACT_CV_SIMD_IMM6(x) \
((RV_X(x, 25, 1)) | (RV_X(x, 20, 5) << 1) | (RV_IMM_SIGN_N(x, 20, 5) << 5))
#define EXTRACT_CV_SIMD_UIMM6(x) \
((RV_X(x, 25, 1)) | (RV_X(x, 20, 5) << 1))
#define ENCODE_ITYPE_IMM(x) \
(RV_X(x, 0, 12) << 20)
@@ -188,6 +192,10 @@ static inline unsigned int riscv_insn_length (insn_t insn)
(RV_X(x, 0, 5) << 25)
#define ENCODE_CV_BITMANIP_UIMM2(x) \
(RV_X(x, 0, 2) << 25)
#define ENCODE_CV_SIMD_IMM6(x) \
((RV_X(x, 0, 1) << 25) | (RV_X(x, 1, 5) << 20))
#define ENCODE_CV_SIMD_UIMM6(x) \
((RV_X(x, 0, 1) << 25) | (RV_X(x, 1, 5) << 20))
#define VALID_ITYPE_IMM(x) (EXTRACT_ITYPE_IMM(ENCODE_ITYPE_IMM(x)) == (x))
#define VALID_STYPE_IMM(x) (EXTRACT_STYPE_IMM(ENCODE_STYPE_IMM(x)) == (x))
@@ -523,6 +531,7 @@ enum riscv_insn_class
INSN_CLASS_XCVELW,
INSN_CLASS_XCVMAC,
INSN_CLASS_XCVMEM,
INSN_CLASS_XCVSIMD,
INSN_CLASS_XTHEADBA,
INSN_CLASS_XTHEADBB,
INSN_CLASS_XTHEADBS,

View File

@@ -822,6 +822,10 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
print (info->stream, dis_style_immediate, "%d",
((int) EXTRACT_CV_BI_IMM5 (l)));
break;
case '5':
print (info->stream, dis_style_immediate, "%d",
((int) EXTRACT_CV_SIMD_IMM6 (l)));
break;
case '6':
print (info->stream, dis_style_immediate, "%d",
((int) EXTRACT_CV_BITMANIP_UIMM5 (l)));
@@ -830,6 +834,11 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
print (info->stream, dis_style_immediate, "%d",
((int) EXTRACT_CV_BITMANIP_UIMM2 (l)));
break;
case '8':
print (info->stream, dis_style_immediate, "%d",
((int) EXTRACT_CV_SIMD_UIMM6 (l)));
++oparg;
break;
default:
goto undefined_modifier;
}

View File

@@ -2367,6 +2367,228 @@ const struct riscv_opcode riscv_opcodes[] =
{"cv.bset", 0, INSN_CLASS_XCVBITMANIP, "d,s,Xc6,Xc2", MATCH_CV_BSET, MASK_CV_BSET, match_opcode, 0},
{"cv.bitrev", 0, INSN_CLASS_XCVBITMANIP, "d,s,Xc7,Xc2", MATCH_CV_BITREV, MASK_CV_BITREV, match_opcode, 0},
/* Vendor-specific (CORE-V) Xcvsimd Instructions */
{"cv.add.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_H, MASK_CV_ADD_H, match_opcode, 0},
{"cv.add.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_B, MASK_CV_ADD_B, match_opcode, 0},
{"cv.add.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_SC_H, MASK_CV_ADD_SC_H, match_opcode, 0},
{"cv.add.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_SC_B, MASK_CV_ADD_SC_B, match_opcode, 0},
{"cv.add.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_ADD_SCI_H, MASK_CV_ADD_SCI_H, match_opcode, 0},
{"cv.add.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_ADD_SCI_B, MASK_CV_ADD_SCI_B, match_opcode, 0},
{"cv.sub.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_H, MASK_CV_SUB_H, match_opcode, 0},
{"cv.sub.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_B, MASK_CV_SUB_B, match_opcode, 0},
{"cv.sub.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_SC_H, MASK_CV_SUB_SC_H, match_opcode, 0},
{"cv.sub.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_SC_B, MASK_CV_SUB_SC_B, match_opcode, 0},
{"cv.sub.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_SUB_SCI_H, MASK_CV_SUB_SCI_H, match_opcode, 0},
{"cv.sub.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_SUB_SCI_B, MASK_CV_SUB_SCI_B, match_opcode, 0},
{"cv.avg.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVG_H, MASK_CV_AVG_H, match_opcode, 0},
{"cv.avg.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVG_B, MASK_CV_AVG_B, match_opcode, 0},
{"cv.avg.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVG_SC_H, MASK_CV_AVG_SC_H, match_opcode, 0},
{"cv.avg.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVG_SC_B, MASK_CV_AVG_SC_B, match_opcode, 0},
{"cv.avg.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_AVG_SCI_H, MASK_CV_AVG_SCI_H, match_opcode, 0},
{"cv.avg.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_AVG_SCI_B, MASK_CV_AVG_SCI_B, match_opcode, 0},
{"cv.avgu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVGU_H, MASK_CV_AVGU_H, match_opcode, 0},
{"cv.avgu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVGU_B, MASK_CV_AVGU_B, match_opcode, 0},
{"cv.avgu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVGU_SC_H, MASK_CV_AVGU_SC_H, match_opcode, 0},
{"cv.avgu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AVGU_SC_B, MASK_CV_AVGU_SC_B, match_opcode, 0},
{"cv.avgu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_AVGU_SCI_H, MASK_CV_AVGU_SCI_H, match_opcode, 0},
{"cv.avgu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_AVGU_SCI_B, MASK_CV_AVGU_SCI_B, match_opcode, 0},
{"cv.min.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MIN_H, MASK_CV_MIN_H, match_opcode, 0},
{"cv.min.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MIN_B, MASK_CV_MIN_B, match_opcode, 0},
{"cv.min.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MIN_SC_H, MASK_CV_MIN_SC_H, match_opcode, 0},
{"cv.min.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MIN_SC_B, MASK_CV_MIN_SC_B, match_opcode, 0},
{"cv.min.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_MIN_SCI_H, MASK_CV_MIN_SCI_H, match_opcode, 0},
{"cv.min.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_MIN_SCI_B, MASK_CV_MIN_SCI_B, match_opcode, 0},
{"cv.minu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MINU_H, MASK_CV_MINU_H, match_opcode, 0},
{"cv.minu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MINU_B, MASK_CV_MINU_B, match_opcode, 0},
{"cv.minu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MINU_SC_H, MASK_CV_MINU_SC_H, match_opcode, 0},
{"cv.minu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MINU_SC_B, MASK_CV_MINU_SC_B, match_opcode, 0},
{"cv.minu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_MINU_SCI_H, MASK_CV_MINU_SCI_H, match_opcode, 0},
{"cv.minu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_MINU_SCI_B, MASK_CV_MINU_SCI_B, match_opcode, 0},
{"cv.max.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAX_H, MASK_CV_MAX_H, match_opcode, 0},
{"cv.max.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAX_B, MASK_CV_MAX_B, match_opcode, 0},
{"cv.max.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAX_SC_H, MASK_CV_MAX_SC_H, match_opcode, 0},
{"cv.max.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAX_SC_B, MASK_CV_MAX_SC_B, match_opcode, 0},
{"cv.max.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_MAX_SCI_H, MASK_CV_MAX_SCI_H, match_opcode, 0},
{"cv.max.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_MAX_SCI_B, MASK_CV_MAX_SCI_B, match_opcode, 0},
{"cv.maxu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAXU_H, MASK_CV_MAXU_H, match_opcode, 0},
{"cv.maxu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAXU_B, MASK_CV_MAXU_B, match_opcode, 0},
{"cv.maxu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAXU_SC_H, MASK_CV_MAXU_SC_H, match_opcode, 0},
{"cv.maxu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_MAXU_SC_B, MASK_CV_MAXU_SC_B, match_opcode, 0},
{"cv.maxu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_MAXU_SCI_H, MASK_CV_MAXU_SCI_H, match_opcode, 0},
{"cv.maxu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_MAXU_SCI_B, MASK_CV_MAXU_SCI_B, match_opcode, 0},
{"cv.srl.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRL_H, MASK_CV_SRL_H, match_opcode, 0},
{"cv.srl.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRL_B, MASK_CV_SRL_B, match_opcode, 0},
{"cv.srl.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRL_SC_H, MASK_CV_SRL_SC_H, match_opcode, 0},
{"cv.srl.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRL_SC_B, MASK_CV_SRL_SC_B, match_opcode, 0},
{"cv.srl.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc84", MATCH_CV_SRL_SCI_H, MASK_CV_SRL_SCI_H, match_opcode, 0},
{"cv.srl.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc83", MATCH_CV_SRL_SCI_B, MASK_CV_SRL_SCI_B, match_opcode, 0},
{"cv.sra.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRA_H, MASK_CV_SRA_H, match_opcode, 0},
{"cv.sra.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRA_B, MASK_CV_SRA_B, match_opcode, 0},
{"cv.sra.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRA_SC_H, MASK_CV_SRA_SC_H, match_opcode, 0},
{"cv.sra.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SRA_SC_B, MASK_CV_SRA_SC_B, match_opcode, 0},
{"cv.sra.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc84", MATCH_CV_SRA_SCI_H, MASK_CV_SRA_SCI_H, match_opcode, 0},
{"cv.sra.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc83", MATCH_CV_SRA_SCI_B, MASK_CV_SRA_SCI_B, match_opcode, 0},
{"cv.sll.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SLL_H, MASK_CV_SLL_H, match_opcode, 0},
{"cv.sll.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SLL_B, MASK_CV_SLL_B, match_opcode, 0},
{"cv.sll.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SLL_SC_H, MASK_CV_SLL_SC_H, match_opcode, 0},
{"cv.sll.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SLL_SC_B, MASK_CV_SLL_SC_B, match_opcode, 0},
{"cv.sll.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc84", MATCH_CV_SLL_SCI_H, MASK_CV_SLL_SCI_H, match_opcode, 0},
{"cv.sll.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc83", MATCH_CV_SLL_SCI_B, MASK_CV_SLL_SCI_B, match_opcode, 0},
{"cv.or.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_OR_H, MASK_CV_OR_H, match_opcode, 0},
{"cv.or.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_OR_B, MASK_CV_OR_B, match_opcode, 0},
{"cv.or.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_OR_SC_H, MASK_CV_OR_SC_H, match_opcode, 0},
{"cv.or.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_OR_SC_B, MASK_CV_OR_SC_B, match_opcode, 0},
{"cv.or.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_OR_SCI_H, MASK_CV_OR_SCI_H, match_opcode, 0},
{"cv.or.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_OR_SCI_B, MASK_CV_OR_SCI_B, match_opcode, 0},
{"cv.xor.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_XOR_H, MASK_CV_XOR_H, match_opcode, 0},
{"cv.xor.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_XOR_B, MASK_CV_XOR_B, match_opcode, 0},
{"cv.xor.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_XOR_SC_H, MASK_CV_XOR_SC_H, match_opcode, 0},
{"cv.xor.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_XOR_SC_B, MASK_CV_XOR_SC_B, match_opcode, 0},
{"cv.xor.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_XOR_SCI_H, MASK_CV_XOR_SCI_H, match_opcode, 0},
{"cv.xor.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_XOR_SCI_B, MASK_CV_XOR_SCI_B, match_opcode, 0},
{"cv.and.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AND_H, MASK_CV_AND_H, match_opcode, 0},
{"cv.and.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AND_B, MASK_CV_AND_B, match_opcode, 0},
{"cv.and.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AND_SC_H, MASK_CV_AND_SC_H, match_opcode, 0},
{"cv.and.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_AND_SC_B, MASK_CV_AND_SC_B, match_opcode, 0},
{"cv.and.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_AND_SCI_H, MASK_CV_AND_SCI_H, match_opcode, 0},
{"cv.and.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_AND_SCI_B, MASK_CV_AND_SCI_B, match_opcode, 0},
{"cv.abs.h", 0, INSN_CLASS_XCVSIMD, "d,s", MATCH_CV_ABS_H, MASK_CV_ABS_H, match_opcode, 0},
{"cv.abs.b", 0, INSN_CLASS_XCVSIMD, "d,s", MATCH_CV_ABS_B, MASK_CV_ABS_B, match_opcode, 0},
{"cv.dotup.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUP_H, MASK_CV_DOTUP_H, match_opcode, 0},
{"cv.dotup.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUP_B, MASK_CV_DOTUP_B, match_opcode, 0},
{"cv.dotup.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUP_SC_H, MASK_CV_DOTUP_SC_H, match_opcode, 0},
{"cv.dotup.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUP_SC_B, MASK_CV_DOTUP_SC_B, match_opcode, 0},
{"cv.dotup.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_DOTUP_SCI_H, MASK_CV_DOTUP_SCI_H, match_opcode, 0},
{"cv.dotup.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_DOTUP_SCI_B, MASK_CV_DOTUP_SCI_B, match_opcode, 0},
{"cv.dotusp.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUSP_H, MASK_CV_DOTUSP_H, match_opcode, 0},
{"cv.dotusp.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUSP_B, MASK_CV_DOTUSP_B, match_opcode, 0},
{"cv.dotusp.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUSP_SC_H, MASK_CV_DOTUSP_SC_H, match_opcode, 0},
{"cv.dotusp.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTUSP_SC_B, MASK_CV_DOTUSP_SC_B, match_opcode, 0},
{"cv.dotusp.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_DOTUSP_SCI_H, MASK_CV_DOTUSP_SCI_H, match_opcode, 0},
{"cv.dotusp.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_DOTUSP_SCI_B, MASK_CV_DOTUSP_SCI_B, match_opcode, 0},
{"cv.dotsp.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTSP_H, MASK_CV_DOTSP_H, match_opcode, 0},
{"cv.dotsp.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTSP_B, MASK_CV_DOTSP_B, match_opcode, 0},
{"cv.dotsp.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTSP_SC_H, MASK_CV_DOTSP_SC_H, match_opcode, 0},
{"cv.dotsp.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_DOTSP_SC_B, MASK_CV_DOTSP_SC_B, match_opcode, 0},
{"cv.dotsp.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_DOTSP_SCI_H, MASK_CV_DOTSP_SCI_H, match_opcode, 0},
{"cv.dotsp.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_DOTSP_SCI_B, MASK_CV_DOTSP_SCI_B, match_opcode, 0},
{"cv.sdotup.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUP_H, MASK_CV_SDOTUP_H, match_opcode, 0},
{"cv.sdotup.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUP_B, MASK_CV_SDOTUP_B, match_opcode, 0},
{"cv.sdotup.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUP_SC_H, MASK_CV_SDOTUP_SC_H, match_opcode, 0},
{"cv.sdotup.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUP_SC_B, MASK_CV_SDOTUP_SC_B, match_opcode, 0},
{"cv.sdotup.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_SDOTUP_SCI_H, MASK_CV_SDOTUP_SCI_H, match_opcode, 0},
{"cv.sdotup.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_SDOTUP_SCI_B, MASK_CV_SDOTUP_SCI_B, match_opcode, 0},
{"cv.sdotusp.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUSP_H, MASK_CV_SDOTUSP_H, match_opcode, 0},
{"cv.sdotusp.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUSP_B, MASK_CV_SDOTUSP_B, match_opcode, 0},
{"cv.sdotusp.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUSP_SC_H, MASK_CV_SDOTUSP_SC_H, match_opcode, 0},
{"cv.sdotusp.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTUSP_SC_B, MASK_CV_SDOTUSP_SC_B, match_opcode, 0},
{"cv.sdotusp.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_SDOTUSP_SCI_H, MASK_CV_SDOTUSP_SCI_H, match_opcode, 0},
{"cv.sdotusp.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_SDOTUSP_SCI_B, MASK_CV_SDOTUSP_SCI_B, match_opcode, 0},
{"cv.sdotsp.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTSP_H, MASK_CV_SDOTSP_H, match_opcode, 0},
{"cv.sdotsp.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTSP_B, MASK_CV_SDOTSP_B, match_opcode, 0},
{"cv.sdotsp.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTSP_SC_H, MASK_CV_SDOTSP_SC_H, match_opcode, 0},
{"cv.sdotsp.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SDOTSP_SC_B, MASK_CV_SDOTSP_SC_B, match_opcode, 0},
{"cv.sdotsp.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_SDOTSP_SCI_H, MASK_CV_SDOTSP_SCI_H, match_opcode, 0},
{"cv.sdotsp.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_SDOTSP_SCI_B, MASK_CV_SDOTSP_SCI_B, match_opcode, 0},
{"cv.extract.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc81", MATCH_CV_EXTRACT_H, MASK_CV_EXTRACT_H, match_opcode, 0},
{"cv.extract.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc82", MATCH_CV_EXTRACT_B, MASK_CV_EXTRACT_B, match_opcode, 0},
{"cv.extractu.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc81", MATCH_CV_EXTRACTU_H, MASK_CV_EXTRACTU_H, match_opcode, 0},
{"cv.extractu.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc82", MATCH_CV_EXTRACTU_B, MASK_CV_EXTRACTU_B, match_opcode, 0},
{"cv.insert.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc81", MATCH_CV_INSERT_H, MASK_CV_INSERT_H, match_opcode, 0},
{"cv.insert.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc82", MATCH_CV_INSERT_B, MASK_CV_INSERT_B, match_opcode, 0},
{"cv.shuffle.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SHUFFLE_H, MASK_CV_SHUFFLE_H, match_opcode, 0},
{"cv.shuffle.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SHUFFLE_B, MASK_CV_SHUFFLE_B, match_opcode, 0},
{"cv.shuffle.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc82", MATCH_CV_SHUFFLE_SCI_H, MASK_CV_SHUFFLE_SCI_H, match_opcode, 0},
{"cv.shufflei0.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_SHUFFLEI0_SCI_B, MASK_CV_SHUFFLEI0_SCI_B, match_opcode, 0},
{"cv.shufflei1.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_SHUFFLEI1_SCI_B, MASK_CV_SHUFFLEI1_SCI_B, match_opcode, 0},
{"cv.shufflei2.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_SHUFFLEI2_SCI_B, MASK_CV_SHUFFLEI2_SCI_B, match_opcode, 0},
{"cv.shufflei3.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_SHUFFLEI3_SCI_B, MASK_CV_SHUFFLEI3_SCI_B, match_opcode, 0},
{"cv.shuffle2.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SHUFFLE2_H, MASK_CV_SHUFFLE2_H, match_opcode, 0},
{"cv.shuffle2.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SHUFFLE2_B, MASK_CV_SHUFFLE2_B, match_opcode, 0},
{"cv.pack", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_PACK, MASK_CV_PACK, match_opcode, 0},
{"cv.pack.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_PACK_H, MASK_CV_PACK_H, match_opcode, 0},
{"cv.packhi.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_PACKHI_B, MASK_CV_PACKHI_B, match_opcode, 0},
{"cv.packlo.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_PACKLO_B, MASK_CV_PACKLO_B, match_opcode, 0},
{"cv.cmpeq.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPEQ_H, MASK_CV_CMPEQ_H, match_opcode, 0},
{"cv.cmpeq.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPEQ_B, MASK_CV_CMPEQ_B, match_opcode, 0},
{"cv.cmpeq.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPEQ_SC_H, MASK_CV_CMPEQ_SC_H, match_opcode, 0},
{"cv.cmpeq.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPEQ_SC_B, MASK_CV_CMPEQ_SC_B, match_opcode, 0},
{"cv.cmpeq.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPEQ_SCI_H, MASK_CV_CMPEQ_SCI_H, match_opcode, 0},
{"cv.cmpeq.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPEQ_SCI_B, MASK_CV_CMPEQ_SCI_B, match_opcode, 0},
{"cv.cmpne.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPNE_H, MASK_CV_CMPNE_H, match_opcode, 0},
{"cv.cmpne.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPNE_B, MASK_CV_CMPNE_B, match_opcode, 0},
{"cv.cmpne.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPNE_SC_H, MASK_CV_CMPNE_SC_H, match_opcode, 0},
{"cv.cmpne.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPNE_SC_B, MASK_CV_CMPNE_SC_B, match_opcode, 0},
{"cv.cmpne.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPNE_SCI_H, MASK_CV_CMPNE_SCI_H, match_opcode, 0},
{"cv.cmpne.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPNE_SCI_B, MASK_CV_CMPNE_SCI_B, match_opcode, 0},
{"cv.cmpgt.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGT_H, MASK_CV_CMPGT_H, match_opcode, 0},
{"cv.cmpgt.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGT_B, MASK_CV_CMPGT_B, match_opcode, 0},
{"cv.cmpgt.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGT_SC_H, MASK_CV_CMPGT_SC_H, match_opcode, 0},
{"cv.cmpgt.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGT_SC_B, MASK_CV_CMPGT_SC_B, match_opcode, 0},
{"cv.cmpgt.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPGT_SCI_H, MASK_CV_CMPGT_SCI_H, match_opcode, 0},
{"cv.cmpgt.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPGT_SCI_B, MASK_CV_CMPGT_SCI_B, match_opcode, 0},
{"cv.cmpge.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGE_H, MASK_CV_CMPGE_H, match_opcode, 0},
{"cv.cmpge.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGE_B, MASK_CV_CMPGE_B, match_opcode, 0},
{"cv.cmpge.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGE_SC_H, MASK_CV_CMPGE_SC_H, match_opcode, 0},
{"cv.cmpge.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGE_SC_B, MASK_CV_CMPGE_SC_B, match_opcode, 0},
{"cv.cmpge.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPGE_SCI_H, MASK_CV_CMPGE_SCI_H, match_opcode, 0},
{"cv.cmpge.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPGE_SCI_B, MASK_CV_CMPGE_SCI_B, match_opcode, 0},
{"cv.cmplt.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLT_H, MASK_CV_CMPLT_H, match_opcode, 0},
{"cv.cmplt.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLT_B, MASK_CV_CMPLT_B, match_opcode, 0},
{"cv.cmplt.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLT_SC_H, MASK_CV_CMPLT_SC_H, match_opcode, 0},
{"cv.cmplt.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLT_SC_B, MASK_CV_CMPLT_SC_B, match_opcode, 0},
{"cv.cmplt.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPLT_SCI_H, MASK_CV_CMPLT_SCI_H, match_opcode, 0},
{"cv.cmplt.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPLT_SCI_B, MASK_CV_CMPLT_SCI_B, match_opcode, 0},
{"cv.cmple.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLE_H, MASK_CV_CMPLE_H, match_opcode, 0},
{"cv.cmple.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLE_B, MASK_CV_CMPLE_B, match_opcode, 0},
{"cv.cmple.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLE_SC_H, MASK_CV_CMPLE_SC_H, match_opcode, 0},
{"cv.cmple.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLE_SC_B, MASK_CV_CMPLE_SC_B, match_opcode, 0},
{"cv.cmple.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPLE_SCI_H, MASK_CV_CMPLE_SCI_H, match_opcode, 0},
{"cv.cmple.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc5", MATCH_CV_CMPLE_SCI_B, MASK_CV_CMPLE_SCI_B, match_opcode, 0},
{"cv.cmpgtu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGTU_H, MASK_CV_CMPGTU_H, match_opcode, 0},
{"cv.cmpgtu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGTU_B, MASK_CV_CMPGTU_B, match_opcode, 0},
{"cv.cmpgtu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGTU_SC_H, MASK_CV_CMPGTU_SC_H, match_opcode, 0},
{"cv.cmpgtu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGTU_SC_B, MASK_CV_CMPGTU_SC_B, match_opcode, 0},
{"cv.cmpgtu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPGTU_SCI_H, MASK_CV_CMPGTU_SCI_H, match_opcode, 0},
{"cv.cmpgtu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPGTU_SCI_B, MASK_CV_CMPGTU_SCI_B, match_opcode, 0},
{"cv.cmpgeu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGEU_H, MASK_CV_CMPGEU_H, match_opcode, 0},
{"cv.cmpgeu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGEU_B, MASK_CV_CMPGEU_B, match_opcode, 0},
{"cv.cmpgeu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGEU_SC_H, MASK_CV_CMPGEU_SC_H, match_opcode, 0},
{"cv.cmpgeu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPGEU_SC_B, MASK_CV_CMPGEU_SC_B, match_opcode, 0},
{"cv.cmpgeu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPGEU_SCI_H, MASK_CV_CMPGEU_SCI_H, match_opcode, 0},
{"cv.cmpgeu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPGEU_SCI_B, MASK_CV_CMPGEU_SCI_B, match_opcode, 0},
{"cv.cmpltu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLTU_H, MASK_CV_CMPLTU_H, match_opcode, 0},
{"cv.cmpltu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLTU_B, MASK_CV_CMPLTU_B, match_opcode, 0},
{"cv.cmpltu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLTU_SC_H, MASK_CV_CMPLTU_SC_H, match_opcode, 0},
{"cv.cmpltu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLTU_SC_B, MASK_CV_CMPLTU_SC_B, match_opcode, 0},
{"cv.cmpltu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPLTU_SCI_H, MASK_CV_CMPLTU_SCI_H, match_opcode, 0},
{"cv.cmpltu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPLTU_SCI_B, MASK_CV_CMPLTU_SCI_B, match_opcode, 0},
{"cv.cmpleu.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLEU_H, MASK_CV_CMPLEU_H, match_opcode, 0},
{"cv.cmpleu.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLEU_B, MASK_CV_CMPLEU_B, match_opcode, 0},
{"cv.cmpleu.sc.h", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLEU_SC_H, MASK_CV_CMPLEU_SC_H, match_opcode, 0},
{"cv.cmpleu.sc.b", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CMPLEU_SC_B, MASK_CV_CMPLEU_SC_B, match_opcode, 0},
{"cv.cmpleu.sci.h", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPLEU_SCI_H, MASK_CV_CMPLEU_SCI_H, match_opcode, 0},
{"cv.cmpleu.sci.b", 0, INSN_CLASS_XCVSIMD, "d,s,Xc80", MATCH_CV_CMPLEU_SCI_B, MASK_CV_CMPLEU_SCI_B, match_opcode, 0},
{"cv.cplxmul.r", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_R, MASK_CV_CPLXMUL_R, match_opcode, 0},
{"cv.cplxmul.i", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_I, MASK_CV_CPLXMUL_I, match_opcode, 0},
{"cv.cplxmul.r.div2", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_R_DIV2, MASK_CV_CPLXMUL_R_DIV2, match_opcode, 0},
{"cv.cplxmul.i.div2", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_I_DIV2, MASK_CV_CPLXMUL_I_DIV2, match_opcode, 0},
{"cv.cplxmul.r.div4", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_R_DIV4, MASK_CV_CPLXMUL_R_DIV4, match_opcode, 0},
{"cv.cplxmul.i.div4", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_I_DIV4, MASK_CV_CPLXMUL_I_DIV4, match_opcode, 0},
{"cv.cplxmul.r.div8", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_R_DIV8, MASK_CV_CPLXMUL_R_DIV8, match_opcode, 0},
{"cv.cplxmul.i.div8", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_CPLXMUL_I_DIV8, MASK_CV_CPLXMUL_I_DIV8, match_opcode, 0},
{"cv.cplxconj", 0, INSN_CLASS_XCVSIMD, "d,s", MATCH_CV_CPLXCONJ, MASK_CV_CPLXCONJ, match_opcode, 0},
{"cv.subrotmj", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUBROTMJ, MASK_CV_SUBROTMJ, match_opcode, 0},
{"cv.subrotmj.div2", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUBROTMJ_DIV2, MASK_CV_SUBROTMJ_DIV2, match_opcode, 0},
{"cv.subrotmj.div4", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUBROTMJ_DIV4, MASK_CV_SUBROTMJ_DIV4, match_opcode, 0},
{"cv.subrotmj.div8", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUBROTMJ_DIV8, MASK_CV_SUBROTMJ_DIV8, match_opcode, 0},
{"cv.add.div2", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_DIV2, MASK_CV_ADD_DIV2, match_opcode, 0},
{"cv.add.div4", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_DIV4, MASK_CV_ADD_DIV4, match_opcode, 0},
{"cv.add.div8", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_ADD_DIV8, MASK_CV_ADD_DIV8, match_opcode, 0},
{"cv.sub.div2", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_DIV2, MASK_CV_SUB_DIV2, match_opcode, 0},
{"cv.sub.div4", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_DIV4, MASK_CV_SUB_DIV4, match_opcode, 0},
{"cv.sub.div8", 0, INSN_CLASS_XCVSIMD, "d,s,t", MATCH_CV_SUB_DIV8, MASK_CV_SUB_DIV8, match_opcode, 0},
/* Vendor-specific (T-Head) XTheadBa instructions. */
{"th.addsl", 0, INSN_CLASS_XTHEADBA, "d,s,t,Xtu2@25", MATCH_TH_ADDSL, MASK_TH_ADDSL, match_opcode, 0},