]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
RISC-V: Add support for XCVsimd extension in CV32E40P
authorMary Bennett <mary.bennett682@gmail.com>
Fri, 30 Aug 2024 03:46:58 +0000 (04:46 +0100)
committerNelson Chu <nelson@rivosinc.com>
Tue, 3 Sep 2024 04:02:28 +0000 (12:02 +0800)
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.

14 files changed:
bfd/elfxx-riscv.c
gas/NEWS
gas/config/tc-riscv.c
gas/doc/c-riscv.texi
gas/testsuite/gas/riscv/march-help.l
gas/testsuite/gas/riscv/x-cv-simd-fail.d [new file with mode: 0644]
gas/testsuite/gas/riscv/x-cv-simd-fail.l [new file with mode: 0644]
gas/testsuite/gas/riscv/x-cv-simd-fail.s [new file with mode: 0644]
gas/testsuite/gas/riscv/x-cv-simd.d [new file with mode: 0644]
gas/testsuite/gas/riscv/x-cv-simd.s [new file with mode: 0644]
include/opcode/riscv-opc.h
include/opcode/riscv.h
opcodes/riscv-dis.c
opcodes/riscv-opc.c

index d517b2ecd3d4a152d045b5456374676cf2740709..64b7d71f2cbc24087500dda4791a5e9975af181a 100644 (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:
index 61c149cd96faaac50a53969495fb23ce4b53505f..24055d2f5e9d4678dbd02f7b10f4f2a5b34fa6bc 100644 (file)
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -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:
 
index cb63082271a06a513ecd9c93652174fce8493c40..bf2020d656ba0d69efbe8cda4e3f66eb0735293b 100644 (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;
                    }
index 9a2349f336010b25bf7cfb89333462f9b0295e97..5614e76698862cfff4f543310eb319f00b4f0695 100644 (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.
 
index 0d9b4c958b0a151d845b2722779a3daaabdf3835..0c33d1ee76d761cf7c7c10dc3ca5f858fa2b3be2 100644 (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
diff --git a/gas/testsuite/gas/riscv/x-cv-simd-fail.d b/gas/testsuite/gas/riscv/x-cv-simd-fail.d
new file mode 100644 (file)
index 0000000..57e2f83
--- /dev/null
@@ -0,0 +1,3 @@
+#as: -march=rv32i_xcvsimd
+#source: x-cv-simd-fail.s
+#error_output: x-cv-simd-fail.l
diff --git a/gas/testsuite/gas/riscv/x-cv-simd-fail.l b/gas/testsuite/gas/riscv/x-cv-simd-fail.l
new file mode 100644 (file)
index 0000000..c2fd00b
--- /dev/null
@@ -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'
diff --git a/gas/testsuite/gas/riscv/x-cv-simd-fail.s b/gas/testsuite/gas/riscv/x-cv-simd-fail.s
new file mode 100644 (file)
index 0000000..9aa6ffc
--- /dev/null
@@ -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
diff --git a/gas/testsuite/gas/riscv/x-cv-simd.d b/gas/testsuite/gas/riscv/x-cv-simd.d
new file mode 100644 (file)
index 0000000..8c22b4a
--- /dev/null
@@ -0,0 +1,1508 @@
+#as: -march=rv32i_xcvsimd
+#source: x-cv-simd.s
+#objdump: -d
+
+.*:[   ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+.*:    7000107b                cv.abs.b        zero,zero
+.*:    700090fb                cv.abs.b        ra,ra
+.*:    7001117b                cv.abs.b        sp,sp
+.*:    7004147b                cv.abs.b        s0,s0
+.*:    700a1a7b                cv.abs.b        s4,s4
+.*:    700f9ffb                cv.abs.b        t6,t6
+.*:    7000007b                cv.abs.h        zero,zero
+.*:    700080fb                cv.abs.h        ra,ra
+.*:    7001017b                cv.abs.h        sp,sp
+.*:    7004047b                cv.abs.h        s0,s0
+.*:    700a0a7b                cv.abs.h        s4,s4
+.*:    700f8ffb                cv.abs.h        t6,t6
+.*:    0000107b                cv.add.b        zero,zero,zero
+.*:    001090fb                cv.add.b        ra,ra,ra
+.*:    0021117b                cv.add.b        sp,sp,sp
+.*:    0084147b                cv.add.b        s0,s0,s0
+.*:    014a1a7b                cv.add.b        s4,s4,s4
+.*:    01ff9ffb                cv.add.b        t6,t6,t6
+.*:    6c00207b                cv.add.div2     zero,zero,zero
+.*:    6c10a0fb                cv.add.div2     ra,ra,ra
+.*:    6c21217b                cv.add.div2     sp,sp,sp
+.*:    6c84247b                cv.add.div2     s0,s0,s0
+.*:    6d4a2a7b                cv.add.div2     s4,s4,s4
+.*:    6dffaffb                cv.add.div2     t6,t6,t6
+.*:    6c00407b                cv.add.div4     zero,zero,zero
+.*:    6c10c0fb                cv.add.div4     ra,ra,ra
+.*:    6c21417b                cv.add.div4     sp,sp,sp
+.*:    6c84447b                cv.add.div4     s0,s0,s0
+.*:    6d4a4a7b                cv.add.div4     s4,s4,s4
+.*:    6dffcffb                cv.add.div4     t6,t6,t6
+.*:    6c00607b                cv.add.div8     zero,zero,zero
+.*:    6c10e0fb                cv.add.div8     ra,ra,ra
+.*:    6c21617b                cv.add.div8     sp,sp,sp
+.*:    6c84647b                cv.add.div8     s0,s0,s0
+.*:    6d4a6a7b                cv.add.div8     s4,s4,s4
+.*:    6dffeffb                cv.add.div8     t6,t6,t6
+.*:    0000007b                cv.add.h        zero,zero,zero
+.*:    001080fb                cv.add.h        ra,ra,ra
+.*:    0021017b                cv.add.h        sp,sp,sp
+.*:    0084047b                cv.add.h        s0,s0,s0
+.*:    014a0a7b                cv.add.h        s4,s4,s4
+.*:    01ff8ffb                cv.add.h        t6,t6,t6
+.*:    0000507b                cv.add.sc.b     zero,zero,zero
+.*:    0010d0fb                cv.add.sc.b     ra,ra,ra
+.*:    0021517b                cv.add.sc.b     sp,sp,sp
+.*:    0084547b                cv.add.sc.b     s0,s0,s0
+.*:    014a5a7b                cv.add.sc.b     s4,s4,s4
+.*:    01ffdffb                cv.add.sc.b     t6,t6,t6
+.*:    0000407b                cv.add.sc.h     zero,zero,zero
+.*:    0010c0fb                cv.add.sc.h     ra,ra,ra
+.*:    0021417b                cv.add.sc.h     sp,sp,sp
+.*:    0084447b                cv.add.sc.h     s0,s0,s0
+.*:    014a4a7b                cv.add.sc.h     s4,s4,s4
+.*:    01ffcffb                cv.add.sc.h     t6,t6,t6
+.*:    00a0707b                cv.add.sci.b    zero,zero,20
+.*:    00a0f0fb                cv.add.sci.b    ra,ra,20
+.*:    00a1717b                cv.add.sci.b    sp,sp,20
+.*:    00a4747b                cv.add.sci.b    s0,s0,20
+.*:    00aa7a7b                cv.add.sci.b    s4,s4,20
+.*:    00affffb                cv.add.sci.b    t6,t6,20
+.*:    0103f37b                cv.add.sci.b    t1,t2,-32
+.*:    0003f37b                cv.add.sci.b    t1,t2,0
+.*:    02f3f37b                cv.add.sci.b    t1,t2,31
+.*:    00a0607b                cv.add.sci.h    zero,zero,20
+.*:    00a0e0fb                cv.add.sci.h    ra,ra,20
+.*:    00a1617b                cv.add.sci.h    sp,sp,20
+.*:    00a4647b                cv.add.sci.h    s0,s0,20
+.*:    00aa6a7b                cv.add.sci.h    s4,s4,20
+.*:    00afeffb                cv.add.sci.h    t6,t6,20
+.*:    0103e37b                cv.add.sci.h    t1,t2,-32
+.*:    0003e37b                cv.add.sci.h    t1,t2,0
+.*:    02f3e37b                cv.add.sci.h    t1,t2,31
+.*:    6800107b                cv.and.b        zero,zero,zero
+.*:    681090fb                cv.and.b        ra,ra,ra
+.*:    6821117b                cv.and.b        sp,sp,sp
+.*:    6884147b                cv.and.b        s0,s0,s0
+.*:    694a1a7b                cv.and.b        s4,s4,s4
+.*:    69ff9ffb                cv.and.b        t6,t6,t6
+.*:    6800007b                cv.and.h        zero,zero,zero
+.*:    681080fb                cv.and.h        ra,ra,ra
+.*:    6821017b                cv.and.h        sp,sp,sp
+.*:    6884047b                cv.and.h        s0,s0,s0
+.*:    694a0a7b                cv.and.h        s4,s4,s4
+.*:    69ff8ffb                cv.and.h        t6,t6,t6
+.*:    6800507b                cv.and.sc.b     zero,zero,zero
+.*:    6810d0fb                cv.and.sc.b     ra,ra,ra
+.*:    6821517b                cv.and.sc.b     sp,sp,sp
+.*:    6884547b                cv.and.sc.b     s0,s0,s0
+.*:    694a5a7b                cv.and.sc.b     s4,s4,s4
+.*:    69ffdffb                cv.and.sc.b     t6,t6,t6
+.*:    6800407b                cv.and.sc.h     zero,zero,zero
+.*:    6810c0fb                cv.and.sc.h     ra,ra,ra
+.*:    6821417b                cv.and.sc.h     sp,sp,sp
+.*:    6884447b                cv.and.sc.h     s0,s0,s0
+.*:    694a4a7b                cv.and.sc.h     s4,s4,s4
+.*:    69ffcffb                cv.and.sc.h     t6,t6,t6
+.*:    68a0707b                cv.and.sci.b    zero,zero,20
+.*:    68a0f0fb                cv.and.sci.b    ra,ra,20
+.*:    68a1717b                cv.and.sci.b    sp,sp,20
+.*:    68a4747b                cv.and.sci.b    s0,s0,20
+.*:    68aa7a7b                cv.and.sci.b    s4,s4,20
+.*:    68affffb                cv.and.sci.b    t6,t6,20
+.*:    6903f37b                cv.and.sci.b    t1,t2,-32
+.*:    6803f37b                cv.and.sci.b    t1,t2,0
+.*:    6af3f37b                cv.and.sci.b    t1,t2,31
+.*:    68a0607b                cv.and.sci.h    zero,zero,20
+.*:    68a0e0fb                cv.and.sci.h    ra,ra,20
+.*:    68a1617b                cv.and.sci.h    sp,sp,20
+.*:    68a4647b                cv.and.sci.h    s0,s0,20
+.*:    68aa6a7b                cv.and.sci.h    s4,s4,20
+.*:    68afeffb                cv.and.sci.h    t6,t6,20
+.*:    6903e37b                cv.and.sci.h    t1,t2,-32
+.*:    6803e37b                cv.and.sci.h    t1,t2,0
+.*:    6af3e37b                cv.and.sci.h    t1,t2,31
+.*:    1000107b                cv.avg.b        zero,zero,zero
+.*:    101090fb                cv.avg.b        ra,ra,ra
+.*:    1021117b                cv.avg.b        sp,sp,sp
+.*:    1084147b                cv.avg.b        s0,s0,s0
+.*:    114a1a7b                cv.avg.b        s4,s4,s4
+.*:    11ff9ffb                cv.avg.b        t6,t6,t6
+.*:    1000007b                cv.avg.h        zero,zero,zero
+.*:    101080fb                cv.avg.h        ra,ra,ra
+.*:    1021017b                cv.avg.h        sp,sp,sp
+.*:    1084047b                cv.avg.h        s0,s0,s0
+.*:    114a0a7b                cv.avg.h        s4,s4,s4
+.*:    11ff8ffb                cv.avg.h        t6,t6,t6
+.*:    1000507b                cv.avg.sc.b     zero,zero,zero
+.*:    1010d0fb                cv.avg.sc.b     ra,ra,ra
+.*:    1021517b                cv.avg.sc.b     sp,sp,sp
+.*:    1084547b                cv.avg.sc.b     s0,s0,s0
+.*:    114a5a7b                cv.avg.sc.b     s4,s4,s4
+.*:    11ffdffb                cv.avg.sc.b     t6,t6,t6
+.*:    1000407b                cv.avg.sc.h     zero,zero,zero
+.*:    1010c0fb                cv.avg.sc.h     ra,ra,ra
+.*:    1021417b                cv.avg.sc.h     sp,sp,sp
+.*:    1084447b                cv.avg.sc.h     s0,s0,s0
+.*:    114a4a7b                cv.avg.sc.h     s4,s4,s4
+.*:    11ffcffb                cv.avg.sc.h     t6,t6,t6
+.*:    10a0707b                cv.avg.sci.b    zero,zero,20
+.*:    10a0f0fb                cv.avg.sci.b    ra,ra,20
+.*:    10a1717b                cv.avg.sci.b    sp,sp,20
+.*:    10a4747b                cv.avg.sci.b    s0,s0,20
+.*:    10aa7a7b                cv.avg.sci.b    s4,s4,20
+.*:    10affffb                cv.avg.sci.b    t6,t6,20
+.*:    1103f37b                cv.avg.sci.b    t1,t2,-32
+.*:    1003f37b                cv.avg.sci.b    t1,t2,0
+.*:    12f3f37b                cv.avg.sci.b    t1,t2,31
+.*:    10a0607b                cv.avg.sci.h    zero,zero,20
+.*:    10a0e0fb                cv.avg.sci.h    ra,ra,20
+.*:    10a1617b                cv.avg.sci.h    sp,sp,20
+.*:    10a4647b                cv.avg.sci.h    s0,s0,20
+.*:    10aa6a7b                cv.avg.sci.h    s4,s4,20
+.*:    10afeffb                cv.avg.sci.h    t6,t6,20
+.*:    1103e37b                cv.avg.sci.h    t1,t2,-32
+.*:    1003e37b                cv.avg.sci.h    t1,t2,0
+.*:    12f3e37b                cv.avg.sci.h    t1,t2,31
+.*:    1800107b                cv.avgu.b       zero,zero,zero
+.*:    181090fb                cv.avgu.b       ra,ra,ra
+.*:    1821117b                cv.avgu.b       sp,sp,sp
+.*:    1884147b                cv.avgu.b       s0,s0,s0
+.*:    194a1a7b                cv.avgu.b       s4,s4,s4
+.*:    19ff9ffb                cv.avgu.b       t6,t6,t6
+.*:    1800007b                cv.avgu.h       zero,zero,zero
+.*:    181080fb                cv.avgu.h       ra,ra,ra
+.*:    1821017b                cv.avgu.h       sp,sp,sp
+.*:    1884047b                cv.avgu.h       s0,s0,s0
+.*:    194a0a7b                cv.avgu.h       s4,s4,s4
+.*:    19ff8ffb                cv.avgu.h       t6,t6,t6
+.*:    1800507b                cv.avgu.sc.b    zero,zero,zero
+.*:    1810d0fb                cv.avgu.sc.b    ra,ra,ra
+.*:    1821517b                cv.avgu.sc.b    sp,sp,sp
+.*:    1884547b                cv.avgu.sc.b    s0,s0,s0
+.*:    194a5a7b                cv.avgu.sc.b    s4,s4,s4
+.*:    19ffdffb                cv.avgu.sc.b    t6,t6,t6
+.*:    1800407b                cv.avgu.sc.h    zero,zero,zero
+.*:    1810c0fb                cv.avgu.sc.h    ra,ra,ra
+.*:    1821417b                cv.avgu.sc.h    sp,sp,sp
+.*:    1884447b                cv.avgu.sc.h    s0,s0,s0
+.*:    194a4a7b                cv.avgu.sc.h    s4,s4,s4
+.*:    19ffcffb                cv.avgu.sc.h    t6,t6,t6
+.*:    18a0707b                cv.avgu.sci.b   zero,zero,20
+.*:    18a0f0fb                cv.avgu.sci.b   ra,ra,20
+.*:    18a1717b                cv.avgu.sci.b   sp,sp,20
+.*:    18a4747b                cv.avgu.sci.b   s0,s0,20
+.*:    18aa7a7b                cv.avgu.sci.b   s4,s4,20
+.*:    18affffb                cv.avgu.sci.b   t6,t6,20
+.*:    1803f37b                cv.avgu.sci.b   t1,t2,0
+.*:    1bf3f37b                cv.avgu.sci.b   t1,t2,63
+.*:    18a0607b                cv.avgu.sci.h   zero,zero,20
+.*:    18a0e0fb                cv.avgu.sci.h   ra,ra,20
+.*:    18a1617b                cv.avgu.sci.h   sp,sp,20
+.*:    18a4647b                cv.avgu.sci.h   s0,s0,20
+.*:    18aa6a7b                cv.avgu.sci.h   s4,s4,20
+.*:    18afeffb                cv.avgu.sci.h   t6,t6,20
+.*:    1803e37b                cv.avgu.sci.h   t1,t2,0
+.*:    1bf3e37b                cv.avgu.sci.h   t1,t2,63
+.*:    0400107b                cv.cmpeq.b      zero,zero,zero
+.*:    041090fb                cv.cmpeq.b      ra,ra,ra
+.*:    0421117b                cv.cmpeq.b      sp,sp,sp
+.*:    0484147b                cv.cmpeq.b      s0,s0,s0
+.*:    054a1a7b                cv.cmpeq.b      s4,s4,s4
+.*:    05ff9ffb                cv.cmpeq.b      t6,t6,t6
+.*:    0400007b                cv.cmpeq.h      zero,zero,zero
+.*:    041080fb                cv.cmpeq.h      ra,ra,ra
+.*:    0421017b                cv.cmpeq.h      sp,sp,sp
+.*:    0484047b                cv.cmpeq.h      s0,s0,s0
+.*:    054a0a7b                cv.cmpeq.h      s4,s4,s4
+.*:    05ff8ffb                cv.cmpeq.h      t6,t6,t6
+.*:    0400507b                cv.cmpeq.sc.b   zero,zero,zero
+.*:    0410d0fb                cv.cmpeq.sc.b   ra,ra,ra
+.*:    0421517b                cv.cmpeq.sc.b   sp,sp,sp
+.*:    0484547b                cv.cmpeq.sc.b   s0,s0,s0
+.*:    054a5a7b                cv.cmpeq.sc.b   s4,s4,s4
+.*:    05ffdffb                cv.cmpeq.sc.b   t6,t6,t6
+.*:    0400407b                cv.cmpeq.sc.h   zero,zero,zero
+.*:    0410c0fb                cv.cmpeq.sc.h   ra,ra,ra
+.*:    0421417b                cv.cmpeq.sc.h   sp,sp,sp
+.*:    0484447b                cv.cmpeq.sc.h   s0,s0,s0
+.*:    054a4a7b                cv.cmpeq.sc.h   s4,s4,s4
+.*:    05ffcffb                cv.cmpeq.sc.h   t6,t6,t6
+.*:    04a0707b                cv.cmpeq.sci.b  zero,zero,20
+.*:    04a0f0fb                cv.cmpeq.sci.b  ra,ra,20
+.*:    04a1717b                cv.cmpeq.sci.b  sp,sp,20
+.*:    04a4747b                cv.cmpeq.sci.b  s0,s0,20
+.*:    04aa7a7b                cv.cmpeq.sci.b  s4,s4,20
+.*:    04affffb                cv.cmpeq.sci.b  t6,t6,20
+.*:    0503f37b                cv.cmpeq.sci.b  t1,t2,-32
+.*:    0403f37b                cv.cmpeq.sci.b  t1,t2,0
+.*:    06f3f37b                cv.cmpeq.sci.b  t1,t2,31
+.*:    04a0607b                cv.cmpeq.sci.h  zero,zero,20
+.*:    04a0e0fb                cv.cmpeq.sci.h  ra,ra,20
+.*:    04a1617b                cv.cmpeq.sci.h  sp,sp,20
+.*:    04a4647b                cv.cmpeq.sci.h  s0,s0,20
+.*:    04aa6a7b                cv.cmpeq.sci.h  s4,s4,20
+.*:    04afeffb                cv.cmpeq.sci.h  t6,t6,20
+.*:    0503e37b                cv.cmpeq.sci.h  t1,t2,-32
+.*:    0403e37b                cv.cmpeq.sci.h  t1,t2,0
+.*:    06f3e37b                cv.cmpeq.sci.h  t1,t2,31
+.*:    1c00107b                cv.cmpge.b      zero,zero,zero
+.*:    1c1090fb                cv.cmpge.b      ra,ra,ra
+.*:    1c21117b                cv.cmpge.b      sp,sp,sp
+.*:    1c84147b                cv.cmpge.b      s0,s0,s0
+.*:    1d4a1a7b                cv.cmpge.b      s4,s4,s4
+.*:    1dff9ffb                cv.cmpge.b      t6,t6,t6
+.*:    1c00007b                cv.cmpge.h      zero,zero,zero
+.*:    1c1080fb                cv.cmpge.h      ra,ra,ra
+.*:    1c21017b                cv.cmpge.h      sp,sp,sp
+.*:    1c84047b                cv.cmpge.h      s0,s0,s0
+.*:    1d4a0a7b                cv.cmpge.h      s4,s4,s4
+.*:    1dff8ffb                cv.cmpge.h      t6,t6,t6
+.*:    1c00507b                cv.cmpge.sc.b   zero,zero,zero
+.*:    1c10d0fb                cv.cmpge.sc.b   ra,ra,ra
+.*:    1c21517b                cv.cmpge.sc.b   sp,sp,sp
+.*:    1c84547b                cv.cmpge.sc.b   s0,s0,s0
+.*:    1d4a5a7b                cv.cmpge.sc.b   s4,s4,s4
+.*:    1dffdffb                cv.cmpge.sc.b   t6,t6,t6
+.*:    1c00407b                cv.cmpge.sc.h   zero,zero,zero
+.*:    1c10c0fb                cv.cmpge.sc.h   ra,ra,ra
+.*:    1c21417b                cv.cmpge.sc.h   sp,sp,sp
+.*:    1c84447b                cv.cmpge.sc.h   s0,s0,s0
+.*:    1d4a4a7b                cv.cmpge.sc.h   s4,s4,s4
+.*:    1dffcffb                cv.cmpge.sc.h   t6,t6,t6
+.*:    1ca0707b                cv.cmpge.sci.b  zero,zero,20
+.*:    1ca0f0fb                cv.cmpge.sci.b  ra,ra,20
+.*:    1ca1717b                cv.cmpge.sci.b  sp,sp,20
+.*:    1ca4747b                cv.cmpge.sci.b  s0,s0,20
+.*:    1caa7a7b                cv.cmpge.sci.b  s4,s4,20
+.*:    1caffffb                cv.cmpge.sci.b  t6,t6,20
+.*:    1d03f37b                cv.cmpge.sci.b  t1,t2,-32
+.*:    1c03f37b                cv.cmpge.sci.b  t1,t2,0
+.*:    1ef3f37b                cv.cmpge.sci.b  t1,t2,31
+.*:    1ca0607b                cv.cmpge.sci.h  zero,zero,20
+.*:    1ca0e0fb                cv.cmpge.sci.h  ra,ra,20
+.*:    1ca1617b                cv.cmpge.sci.h  sp,sp,20
+.*:    1ca4647b                cv.cmpge.sci.h  s0,s0,20
+.*:    1caa6a7b                cv.cmpge.sci.h  s4,s4,20
+.*:    1cafeffb                cv.cmpge.sci.h  t6,t6,20
+.*:    1d03e37b                cv.cmpge.sci.h  t1,t2,-32
+.*:    1c03e37b                cv.cmpge.sci.h  t1,t2,0
+.*:    1ef3e37b                cv.cmpge.sci.h  t1,t2,31
+.*:    3c00107b                cv.cmpgeu.b     zero,zero,zero
+.*:    3c1090fb                cv.cmpgeu.b     ra,ra,ra
+.*:    3c21117b                cv.cmpgeu.b     sp,sp,sp
+.*:    3c84147b                cv.cmpgeu.b     s0,s0,s0
+.*:    3d4a1a7b                cv.cmpgeu.b     s4,s4,s4
+.*:    3dff9ffb                cv.cmpgeu.b     t6,t6,t6
+.*:    3c00007b                cv.cmpgeu.h     zero,zero,zero
+.*:    3c1080fb                cv.cmpgeu.h     ra,ra,ra
+.*:    3c21017b                cv.cmpgeu.h     sp,sp,sp
+.*:    3c84047b                cv.cmpgeu.h     s0,s0,s0
+.*:    3d4a0a7b                cv.cmpgeu.h     s4,s4,s4
+.*:    3dff8ffb                cv.cmpgeu.h     t6,t6,t6
+.*:    3c00507b                cv.cmpgeu.sc.b  zero,zero,zero
+.*:    3c10d0fb                cv.cmpgeu.sc.b  ra,ra,ra
+.*:    3c21517b                cv.cmpgeu.sc.b  sp,sp,sp
+.*:    3c84547b                cv.cmpgeu.sc.b  s0,s0,s0
+.*:    3d4a5a7b                cv.cmpgeu.sc.b  s4,s4,s4
+.*:    3dffdffb                cv.cmpgeu.sc.b  t6,t6,t6
+.*:    3c00407b                cv.cmpgeu.sc.h  zero,zero,zero
+.*:    3c10c0fb                cv.cmpgeu.sc.h  ra,ra,ra
+.*:    3c21417b                cv.cmpgeu.sc.h  sp,sp,sp
+.*:    3c84447b                cv.cmpgeu.sc.h  s0,s0,s0
+.*:    3d4a4a7b                cv.cmpgeu.sc.h  s4,s4,s4
+.*:    3dffcffb                cv.cmpgeu.sc.h  t6,t6,t6
+.*:    3ca0707b                cv.cmpgeu.sci.b zero,zero,20
+.*:    3ca0f0fb                cv.cmpgeu.sci.b ra,ra,20
+.*:    3ca1717b                cv.cmpgeu.sci.b sp,sp,20
+.*:    3ca4747b                cv.cmpgeu.sci.b s0,s0,20
+.*:    3caa7a7b                cv.cmpgeu.sci.b s4,s4,20
+.*:    3caffffb                cv.cmpgeu.sci.b t6,t6,20
+.*:    3c03f37b                cv.cmpgeu.sci.b t1,t2,0
+.*:    3ff3f37b                cv.cmpgeu.sci.b t1,t2,63
+.*:    3ca0607b                cv.cmpgeu.sci.h zero,zero,20
+.*:    3ca0e0fb                cv.cmpgeu.sci.h ra,ra,20
+.*:    3ca1617b                cv.cmpgeu.sci.h sp,sp,20
+.*:    3ca4647b                cv.cmpgeu.sci.h s0,s0,20
+.*:    3caa6a7b                cv.cmpgeu.sci.h s4,s4,20
+.*:    3cafeffb                cv.cmpgeu.sci.h t6,t6,20
+.*:    3c03e37b                cv.cmpgeu.sci.h t1,t2,0
+.*:    3ff3e37b                cv.cmpgeu.sci.h t1,t2,63
+.*:    1400107b                cv.cmpgt.b      zero,zero,zero
+.*:    141090fb                cv.cmpgt.b      ra,ra,ra
+.*:    1421117b                cv.cmpgt.b      sp,sp,sp
+.*:    1484147b                cv.cmpgt.b      s0,s0,s0
+.*:    154a1a7b                cv.cmpgt.b      s4,s4,s4
+.*:    15ff9ffb                cv.cmpgt.b      t6,t6,t6
+.*:    1400007b                cv.cmpgt.h      zero,zero,zero
+.*:    141080fb                cv.cmpgt.h      ra,ra,ra
+.*:    1421017b                cv.cmpgt.h      sp,sp,sp
+.*:    1484047b                cv.cmpgt.h      s0,s0,s0
+.*:    154a0a7b                cv.cmpgt.h      s4,s4,s4
+.*:    15ff8ffb                cv.cmpgt.h      t6,t6,t6
+.*:    1400507b                cv.cmpgt.sc.b   zero,zero,zero
+.*:    1410d0fb                cv.cmpgt.sc.b   ra,ra,ra
+.*:    1421517b                cv.cmpgt.sc.b   sp,sp,sp
+.*:    1484547b                cv.cmpgt.sc.b   s0,s0,s0
+.*:    154a5a7b                cv.cmpgt.sc.b   s4,s4,s4
+.*:    15ffdffb                cv.cmpgt.sc.b   t6,t6,t6
+.*:    1400407b                cv.cmpgt.sc.h   zero,zero,zero
+.*:    1410c0fb                cv.cmpgt.sc.h   ra,ra,ra
+.*:    1421417b                cv.cmpgt.sc.h   sp,sp,sp
+.*:    1484447b                cv.cmpgt.sc.h   s0,s0,s0
+.*:    154a4a7b                cv.cmpgt.sc.h   s4,s4,s4
+.*:    15ffcffb                cv.cmpgt.sc.h   t6,t6,t6
+.*:    14a0707b                cv.cmpgt.sci.b  zero,zero,20
+.*:    14a0f0fb                cv.cmpgt.sci.b  ra,ra,20
+.*:    14a1717b                cv.cmpgt.sci.b  sp,sp,20
+.*:    14a4747b                cv.cmpgt.sci.b  s0,s0,20
+.*:    14aa7a7b                cv.cmpgt.sci.b  s4,s4,20
+.*:    14affffb                cv.cmpgt.sci.b  t6,t6,20
+.*:    1503f37b                cv.cmpgt.sci.b  t1,t2,-32
+.*:    1403f37b                cv.cmpgt.sci.b  t1,t2,0
+.*:    16f3f37b                cv.cmpgt.sci.b  t1,t2,31
+.*:    14a0607b                cv.cmpgt.sci.h  zero,zero,20
+.*:    14a0e0fb                cv.cmpgt.sci.h  ra,ra,20
+.*:    14a1617b                cv.cmpgt.sci.h  sp,sp,20
+.*:    14a4647b                cv.cmpgt.sci.h  s0,s0,20
+.*:    14aa6a7b                cv.cmpgt.sci.h  s4,s4,20
+.*:    14afeffb                cv.cmpgt.sci.h  t6,t6,20
+.*:    1503e37b                cv.cmpgt.sci.h  t1,t2,-32
+.*:    1403e37b                cv.cmpgt.sci.h  t1,t2,0
+.*:    16f3e37b                cv.cmpgt.sci.h  t1,t2,31
+.*:    3400107b                cv.cmpgtu.b     zero,zero,zero
+.*:    341090fb                cv.cmpgtu.b     ra,ra,ra
+.*:    3421117b                cv.cmpgtu.b     sp,sp,sp
+.*:    3484147b                cv.cmpgtu.b     s0,s0,s0
+.*:    354a1a7b                cv.cmpgtu.b     s4,s4,s4
+.*:    35ff9ffb                cv.cmpgtu.b     t6,t6,t6
+.*:    3400007b                cv.cmpgtu.h     zero,zero,zero
+.*:    341080fb                cv.cmpgtu.h     ra,ra,ra
+.*:    3421017b                cv.cmpgtu.h     sp,sp,sp
+.*:    3484047b                cv.cmpgtu.h     s0,s0,s0
+.*:    354a0a7b                cv.cmpgtu.h     s4,s4,s4
+.*:    35ff8ffb                cv.cmpgtu.h     t6,t6,t6
+.*:    3400507b                cv.cmpgtu.sc.b  zero,zero,zero
+.*:    3410d0fb                cv.cmpgtu.sc.b  ra,ra,ra
+.*:    3421517b                cv.cmpgtu.sc.b  sp,sp,sp
+.*:    3484547b                cv.cmpgtu.sc.b  s0,s0,s0
+.*:    354a5a7b                cv.cmpgtu.sc.b  s4,s4,s4
+.*:    35ffdffb                cv.cmpgtu.sc.b  t6,t6,t6
+.*:    3400407b                cv.cmpgtu.sc.h  zero,zero,zero
+.*:    3410c0fb                cv.cmpgtu.sc.h  ra,ra,ra
+.*:    3421417b                cv.cmpgtu.sc.h  sp,sp,sp
+.*:    3484447b                cv.cmpgtu.sc.h  s0,s0,s0
+.*:    354a4a7b                cv.cmpgtu.sc.h  s4,s4,s4
+.*:    35ffcffb                cv.cmpgtu.sc.h  t6,t6,t6
+.*:    34a0707b                cv.cmpgtu.sci.b zero,zero,20
+.*:    34a0f0fb                cv.cmpgtu.sci.b ra,ra,20
+.*:    34a1717b                cv.cmpgtu.sci.b sp,sp,20
+.*:    34a4747b                cv.cmpgtu.sci.b s0,s0,20
+.*:    34aa7a7b                cv.cmpgtu.sci.b s4,s4,20
+.*:    34affffb                cv.cmpgtu.sci.b t6,t6,20
+.*:    3403f37b                cv.cmpgtu.sci.b t1,t2,0
+.*:    37f3f37b                cv.cmpgtu.sci.b t1,t2,63
+.*:    34a0607b                cv.cmpgtu.sci.h zero,zero,20
+.*:    34a0e0fb                cv.cmpgtu.sci.h ra,ra,20
+.*:    34a1617b                cv.cmpgtu.sci.h sp,sp,20
+.*:    34a4647b                cv.cmpgtu.sci.h s0,s0,20
+.*:    34aa6a7b                cv.cmpgtu.sci.h s4,s4,20
+.*:    34afeffb                cv.cmpgtu.sci.h t6,t6,20
+.*:    3403e37b                cv.cmpgtu.sci.h t1,t2,0
+.*:    37f3e37b                cv.cmpgtu.sci.h t1,t2,63
+.*:    2c00107b                cv.cmple.b      zero,zero,zero
+.*:    2c1090fb                cv.cmple.b      ra,ra,ra
+.*:    2c21117b                cv.cmple.b      sp,sp,sp
+.*:    2c84147b                cv.cmple.b      s0,s0,s0
+.*:    2d4a1a7b                cv.cmple.b      s4,s4,s4
+.*:    2dff9ffb                cv.cmple.b      t6,t6,t6
+.*:    2c00007b                cv.cmple.h      zero,zero,zero
+.*:    2c1080fb                cv.cmple.h      ra,ra,ra
+.*:    2c21017b                cv.cmple.h      sp,sp,sp
+.*:    2c84047b                cv.cmple.h      s0,s0,s0
+.*:    2d4a0a7b                cv.cmple.h      s4,s4,s4
+.*:    2dff8ffb                cv.cmple.h      t6,t6,t6
+.*:    2c00507b                cv.cmple.sc.b   zero,zero,zero
+.*:    2c10d0fb                cv.cmple.sc.b   ra,ra,ra
+.*:    2c21517b                cv.cmple.sc.b   sp,sp,sp
+.*:    2c84547b                cv.cmple.sc.b   s0,s0,s0
+.*:    2d4a5a7b                cv.cmple.sc.b   s4,s4,s4
+.*:    2dffdffb                cv.cmple.sc.b   t6,t6,t6
+.*:    2c00407b                cv.cmple.sc.h   zero,zero,zero
+.*:    2c10c0fb                cv.cmple.sc.h   ra,ra,ra
+.*:    2c21417b                cv.cmple.sc.h   sp,sp,sp
+.*:    2c84447b                cv.cmple.sc.h   s0,s0,s0
+.*:    2d4a4a7b                cv.cmple.sc.h   s4,s4,s4
+.*:    2dffcffb                cv.cmple.sc.h   t6,t6,t6
+.*:    2ca0707b                cv.cmple.sci.b  zero,zero,20
+.*:    2ca0f0fb                cv.cmple.sci.b  ra,ra,20
+.*:    2ca1717b                cv.cmple.sci.b  sp,sp,20
+.*:    2ca4747b                cv.cmple.sci.b  s0,s0,20
+.*:    2caa7a7b                cv.cmple.sci.b  s4,s4,20
+.*:    2caffffb                cv.cmple.sci.b  t6,t6,20
+.*:    2d03f37b                cv.cmple.sci.b  t1,t2,-32
+.*:    2c03f37b                cv.cmple.sci.b  t1,t2,0
+.*:    2ef3f37b                cv.cmple.sci.b  t1,t2,31
+.*:    2ca0607b                cv.cmple.sci.h  zero,zero,20
+.*:    2ca0e0fb                cv.cmple.sci.h  ra,ra,20
+.*:    2ca1617b                cv.cmple.sci.h  sp,sp,20
+.*:    2ca4647b                cv.cmple.sci.h  s0,s0,20
+.*:    2caa6a7b                cv.cmple.sci.h  s4,s4,20
+.*:    2cafeffb                cv.cmple.sci.h  t6,t6,20
+.*:    2d03e37b                cv.cmple.sci.h  t1,t2,-32
+.*:    2c03e37b                cv.cmple.sci.h  t1,t2,0
+.*:    2ef3e37b                cv.cmple.sci.h  t1,t2,31
+.*:    4c00107b                cv.cmpleu.b     zero,zero,zero
+.*:    4c1090fb                cv.cmpleu.b     ra,ra,ra
+.*:    4c21117b                cv.cmpleu.b     sp,sp,sp
+.*:    4c84147b                cv.cmpleu.b     s0,s0,s0
+.*:    4d4a1a7b                cv.cmpleu.b     s4,s4,s4
+.*:    4dff9ffb                cv.cmpleu.b     t6,t6,t6
+.*:    4c00007b                cv.cmpleu.h     zero,zero,zero
+.*:    4c1080fb                cv.cmpleu.h     ra,ra,ra
+.*:    4c21017b                cv.cmpleu.h     sp,sp,sp
+.*:    4c84047b                cv.cmpleu.h     s0,s0,s0
+.*:    4d4a0a7b                cv.cmpleu.h     s4,s4,s4
+.*:    4dff8ffb                cv.cmpleu.h     t6,t6,t6
+.*:    4c00507b                cv.cmpleu.sc.b  zero,zero,zero
+.*:    4c10d0fb                cv.cmpleu.sc.b  ra,ra,ra
+.*:    4c21517b                cv.cmpleu.sc.b  sp,sp,sp
+.*:    4c84547b                cv.cmpleu.sc.b  s0,s0,s0
+.*:    4d4a5a7b                cv.cmpleu.sc.b  s4,s4,s4
+.*:    4dffdffb                cv.cmpleu.sc.b  t6,t6,t6
+.*:    4c00407b                cv.cmpleu.sc.h  zero,zero,zero
+.*:    4c10c0fb                cv.cmpleu.sc.h  ra,ra,ra
+.*:    4c21417b                cv.cmpleu.sc.h  sp,sp,sp
+.*:    4c84447b                cv.cmpleu.sc.h  s0,s0,s0
+.*:    4d4a4a7b                cv.cmpleu.sc.h  s4,s4,s4
+.*:    4dffcffb                cv.cmpleu.sc.h  t6,t6,t6
+.*:    4ca0707b                cv.cmpleu.sci.b zero,zero,20
+.*:    4ca0f0fb                cv.cmpleu.sci.b ra,ra,20
+.*:    4ca1717b                cv.cmpleu.sci.b sp,sp,20
+.*:    4ca4747b                cv.cmpleu.sci.b s0,s0,20
+.*:    4caa7a7b                cv.cmpleu.sci.b s4,s4,20
+.*:    4caffffb                cv.cmpleu.sci.b t6,t6,20
+.*:    4c03f37b                cv.cmpleu.sci.b t1,t2,0
+.*:    4ff3f37b                cv.cmpleu.sci.b t1,t2,63
+.*:    4ca0607b                cv.cmpleu.sci.h zero,zero,20
+.*:    4ca0e0fb                cv.cmpleu.sci.h ra,ra,20
+.*:    4ca1617b                cv.cmpleu.sci.h sp,sp,20
+.*:    4ca4647b                cv.cmpleu.sci.h s0,s0,20
+.*:    4caa6a7b                cv.cmpleu.sci.h s4,s4,20
+.*:    4cafeffb                cv.cmpleu.sci.h t6,t6,20
+.*:    4c03e37b                cv.cmpleu.sci.h t1,t2,0
+.*:    4ff3e37b                cv.cmpleu.sci.h t1,t2,63
+.*:    2400107b                cv.cmplt.b      zero,zero,zero
+.*:    241090fb                cv.cmplt.b      ra,ra,ra
+.*:    2421117b                cv.cmplt.b      sp,sp,sp
+.*:    2484147b                cv.cmplt.b      s0,s0,s0
+.*:    254a1a7b                cv.cmplt.b      s4,s4,s4
+.*:    25ff9ffb                cv.cmplt.b      t6,t6,t6
+.*:    2400007b                cv.cmplt.h      zero,zero,zero
+.*:    241080fb                cv.cmplt.h      ra,ra,ra
+.*:    2421017b                cv.cmplt.h      sp,sp,sp
+.*:    2484047b                cv.cmplt.h      s0,s0,s0
+.*:    254a0a7b                cv.cmplt.h      s4,s4,s4
+.*:    25ff8ffb                cv.cmplt.h      t6,t6,t6
+.*:    2400507b                cv.cmplt.sc.b   zero,zero,zero
+.*:    2410d0fb                cv.cmplt.sc.b   ra,ra,ra
+.*:    2421517b                cv.cmplt.sc.b   sp,sp,sp
+.*:    2484547b                cv.cmplt.sc.b   s0,s0,s0
+.*:    254a5a7b                cv.cmplt.sc.b   s4,s4,s4
+.*:    25ffdffb                cv.cmplt.sc.b   t6,t6,t6
+.*:    2400407b                cv.cmplt.sc.h   zero,zero,zero
+.*:    2410c0fb                cv.cmplt.sc.h   ra,ra,ra
+.*:    2421417b                cv.cmplt.sc.h   sp,sp,sp
+.*:    2484447b                cv.cmplt.sc.h   s0,s0,s0
+.*:    254a4a7b                cv.cmplt.sc.h   s4,s4,s4
+.*:    25ffcffb                cv.cmplt.sc.h   t6,t6,t6
+.*:    24a0707b                cv.cmplt.sci.b  zero,zero,20
+.*:    24a0f0fb                cv.cmplt.sci.b  ra,ra,20
+.*:    24a1717b                cv.cmplt.sci.b  sp,sp,20
+.*:    24a4747b                cv.cmplt.sci.b  s0,s0,20
+.*:    24aa7a7b                cv.cmplt.sci.b  s4,s4,20
+.*:    24affffb                cv.cmplt.sci.b  t6,t6,20
+.*:    2503f37b                cv.cmplt.sci.b  t1,t2,-32
+.*:    2403f37b                cv.cmplt.sci.b  t1,t2,0
+.*:    26f3f37b                cv.cmplt.sci.b  t1,t2,31
+.*:    24a0607b                cv.cmplt.sci.h  zero,zero,20
+.*:    24a0e0fb                cv.cmplt.sci.h  ra,ra,20
+.*:    24a1617b                cv.cmplt.sci.h  sp,sp,20
+.*:    24a4647b                cv.cmplt.sci.h  s0,s0,20
+.*:    24aa6a7b                cv.cmplt.sci.h  s4,s4,20
+.*:    24afeffb                cv.cmplt.sci.h  t6,t6,20
+.*:    2503e37b                cv.cmplt.sci.h  t1,t2,-32
+.*:    2403e37b                cv.cmplt.sci.h  t1,t2,0
+.*:    26f3e37b                cv.cmplt.sci.h  t1,t2,31
+.*:    4400107b                cv.cmpltu.b     zero,zero,zero
+.*:    441090fb                cv.cmpltu.b     ra,ra,ra
+.*:    4421117b                cv.cmpltu.b     sp,sp,sp
+.*:    4484147b                cv.cmpltu.b     s0,s0,s0
+.*:    454a1a7b                cv.cmpltu.b     s4,s4,s4
+.*:    45ff9ffb                cv.cmpltu.b     t6,t6,t6
+.*:    4400007b                cv.cmpltu.h     zero,zero,zero
+.*:    441080fb                cv.cmpltu.h     ra,ra,ra
+.*:    4421017b                cv.cmpltu.h     sp,sp,sp
+.*:    4484047b                cv.cmpltu.h     s0,s0,s0
+.*:    454a0a7b                cv.cmpltu.h     s4,s4,s4
+.*:    45ff8ffb                cv.cmpltu.h     t6,t6,t6
+.*:    4400507b                cv.cmpltu.sc.b  zero,zero,zero
+.*:    4410d0fb                cv.cmpltu.sc.b  ra,ra,ra
+.*:    4421517b                cv.cmpltu.sc.b  sp,sp,sp
+.*:    4484547b                cv.cmpltu.sc.b  s0,s0,s0
+.*:    454a5a7b                cv.cmpltu.sc.b  s4,s4,s4
+.*:    45ffdffb                cv.cmpltu.sc.b  t6,t6,t6
+.*:    4400407b                cv.cmpltu.sc.h  zero,zero,zero
+.*:    4410c0fb                cv.cmpltu.sc.h  ra,ra,ra
+.*:    4421417b                cv.cmpltu.sc.h  sp,sp,sp
+.*:    4484447b                cv.cmpltu.sc.h  s0,s0,s0
+.*:    454a4a7b                cv.cmpltu.sc.h  s4,s4,s4
+.*:    45ffcffb                cv.cmpltu.sc.h  t6,t6,t6
+.*:    44a0707b                cv.cmpltu.sci.b zero,zero,20
+.*:    44a0f0fb                cv.cmpltu.sci.b ra,ra,20
+.*:    44a1717b                cv.cmpltu.sci.b sp,sp,20
+.*:    44a4747b                cv.cmpltu.sci.b s0,s0,20
+.*:    44aa7a7b                cv.cmpltu.sci.b s4,s4,20
+.*:    44affffb                cv.cmpltu.sci.b t6,t6,20
+.*:    4403f37b                cv.cmpltu.sci.b t1,t2,0
+.*:    47f3f37b                cv.cmpltu.sci.b t1,t2,63
+.*:    44a0607b                cv.cmpltu.sci.h zero,zero,20
+.*:    44a0e0fb                cv.cmpltu.sci.h ra,ra,20
+.*:    44a1617b                cv.cmpltu.sci.h sp,sp,20
+.*:    44a4647b                cv.cmpltu.sci.h s0,s0,20
+.*:    44aa6a7b                cv.cmpltu.sci.h s4,s4,20
+.*:    44afeffb                cv.cmpltu.sci.h t6,t6,20
+.*:    4403e37b                cv.cmpltu.sci.h t1,t2,0
+.*:    47f3e37b                cv.cmpltu.sci.h t1,t2,63
+.*:    0c00107b                cv.cmpne.b      zero,zero,zero
+.*:    0c1090fb                cv.cmpne.b      ra,ra,ra
+.*:    0c21117b                cv.cmpne.b      sp,sp,sp
+.*:    0c84147b                cv.cmpne.b      s0,s0,s0
+.*:    0d4a1a7b                cv.cmpne.b      s4,s4,s4
+.*:    0dff9ffb                cv.cmpne.b      t6,t6,t6
+.*:    0c00007b                cv.cmpne.h      zero,zero,zero
+.*:    0c1080fb                cv.cmpne.h      ra,ra,ra
+.*:    0c21017b                cv.cmpne.h      sp,sp,sp
+.*:    0c84047b                cv.cmpne.h      s0,s0,s0
+.*:    0d4a0a7b                cv.cmpne.h      s4,s4,s4
+.*:    0dff8ffb                cv.cmpne.h      t6,t6,t6
+.*:    0c00507b                cv.cmpne.sc.b   zero,zero,zero
+.*:    0c10d0fb                cv.cmpne.sc.b   ra,ra,ra
+.*:    0c21517b                cv.cmpne.sc.b   sp,sp,sp
+.*:    0c84547b                cv.cmpne.sc.b   s0,s0,s0
+.*:    0d4a5a7b                cv.cmpne.sc.b   s4,s4,s4
+.*:    0dffdffb                cv.cmpne.sc.b   t6,t6,t6
+.*:    0c00407b                cv.cmpne.sc.h   zero,zero,zero
+.*:    0c10c0fb                cv.cmpne.sc.h   ra,ra,ra
+.*:    0c21417b                cv.cmpne.sc.h   sp,sp,sp
+.*:    0c84447b                cv.cmpne.sc.h   s0,s0,s0
+.*:    0d4a4a7b                cv.cmpne.sc.h   s4,s4,s4
+.*:    0dffcffb                cv.cmpne.sc.h   t6,t6,t6
+.*:    0ca0707b                cv.cmpne.sci.b  zero,zero,20
+.*:    0ca0f0fb                cv.cmpne.sci.b  ra,ra,20
+.*:    0ca1717b                cv.cmpne.sci.b  sp,sp,20
+.*:    0ca4747b                cv.cmpne.sci.b  s0,s0,20
+.*:    0caa7a7b                cv.cmpne.sci.b  s4,s4,20
+.*:    0caffffb                cv.cmpne.sci.b  t6,t6,20
+.*:    0d03f37b                cv.cmpne.sci.b  t1,t2,-32
+.*:    0c03f37b                cv.cmpne.sci.b  t1,t2,0
+.*:    0ef3f37b                cv.cmpne.sci.b  t1,t2,31
+.*:    0ca0607b                cv.cmpne.sci.h  zero,zero,20
+.*:    0ca0e0fb                cv.cmpne.sci.h  ra,ra,20
+.*:    0ca1617b                cv.cmpne.sci.h  sp,sp,20
+.*:    0ca4647b                cv.cmpne.sci.h  s0,s0,20
+.*:    0caa6a7b                cv.cmpne.sci.h  s4,s4,20
+.*:    0cafeffb                cv.cmpne.sci.h  t6,t6,20
+.*:    0d03e37b                cv.cmpne.sci.h  t1,t2,-32
+.*:    0c03e37b                cv.cmpne.sci.h  t1,t2,0
+.*:    0ef3e37b                cv.cmpne.sci.h  t1,t2,31
+.*:    5c00007b                cv.cplxconj     zero,zero
+.*:    5c0080fb                cv.cplxconj     ra,ra
+.*:    5c01017b                cv.cplxconj     sp,sp
+.*:    5c04047b                cv.cplxconj     s0,s0
+.*:    5c0a0a7b                cv.cplxconj     s4,s4
+.*:    5c0f8ffb                cv.cplxconj     t6,t6
+.*:    5600207b                cv.cplxmul.i.div2       zero,zero,zero
+.*:    5610a0fb                cv.cplxmul.i.div2       ra,ra,ra
+.*:    5621217b                cv.cplxmul.i.div2       sp,sp,sp
+.*:    5684247b                cv.cplxmul.i.div2       s0,s0,s0
+.*:    574a2a7b                cv.cplxmul.i.div2       s4,s4,s4
+.*:    57ffaffb                cv.cplxmul.i.div2       t6,t6,t6
+.*:    5600407b                cv.cplxmul.i.div4       zero,zero,zero
+.*:    5610c0fb                cv.cplxmul.i.div4       ra,ra,ra
+.*:    5621417b                cv.cplxmul.i.div4       sp,sp,sp
+.*:    5684447b                cv.cplxmul.i.div4       s0,s0,s0
+.*:    574a4a7b                cv.cplxmul.i.div4       s4,s4,s4
+.*:    57ffcffb                cv.cplxmul.i.div4       t6,t6,t6
+.*:    5600607b                cv.cplxmul.i.div8       zero,zero,zero
+.*:    5610e0fb                cv.cplxmul.i.div8       ra,ra,ra
+.*:    5621617b                cv.cplxmul.i.div8       sp,sp,sp
+.*:    5684647b                cv.cplxmul.i.div8       s0,s0,s0
+.*:    574a6a7b                cv.cplxmul.i.div8       s4,s4,s4
+.*:    57ffeffb                cv.cplxmul.i.div8       t6,t6,t6
+.*:    5600007b                cv.cplxmul.i    zero,zero,zero
+.*:    561080fb                cv.cplxmul.i    ra,ra,ra
+.*:    5621017b                cv.cplxmul.i    sp,sp,sp
+.*:    5684047b                cv.cplxmul.i    s0,s0,s0
+.*:    574a0a7b                cv.cplxmul.i    s4,s4,s4
+.*:    57ff8ffb                cv.cplxmul.i    t6,t6,t6
+.*:    5400207b                cv.cplxmul.r.div2       zero,zero,zero
+.*:    5410a0fb                cv.cplxmul.r.div2       ra,ra,ra
+.*:    5421217b                cv.cplxmul.r.div2       sp,sp,sp
+.*:    5484247b                cv.cplxmul.r.div2       s0,s0,s0
+.*:    554a2a7b                cv.cplxmul.r.div2       s4,s4,s4
+.*:    55ffaffb                cv.cplxmul.r.div2       t6,t6,t6
+.*:    5400407b                cv.cplxmul.r.div4       zero,zero,zero
+.*:    5410c0fb                cv.cplxmul.r.div4       ra,ra,ra
+.*:    5421417b                cv.cplxmul.r.div4       sp,sp,sp
+.*:    5484447b                cv.cplxmul.r.div4       s0,s0,s0
+.*:    554a4a7b                cv.cplxmul.r.div4       s4,s4,s4
+.*:    55ffcffb                cv.cplxmul.r.div4       t6,t6,t6
+.*:    5400607b                cv.cplxmul.r.div8       zero,zero,zero
+.*:    5410e0fb                cv.cplxmul.r.div8       ra,ra,ra
+.*:    5421617b                cv.cplxmul.r.div8       sp,sp,sp
+.*:    5484647b                cv.cplxmul.r.div8       s0,s0,s0
+.*:    554a6a7b                cv.cplxmul.r.div8       s4,s4,s4
+.*:    55ffeffb                cv.cplxmul.r.div8       t6,t6,t6
+.*:    5400007b                cv.cplxmul.r    zero,zero,zero
+.*:    541080fb                cv.cplxmul.r    ra,ra,ra
+.*:    5421017b                cv.cplxmul.r    sp,sp,sp
+.*:    5484047b                cv.cplxmul.r    s0,s0,s0
+.*:    554a0a7b                cv.cplxmul.r    s4,s4,s4
+.*:    55ff8ffb                cv.cplxmul.r    t6,t6,t6
+.*:    9000107b                cv.dotsp.b      zero,zero,zero
+.*:    901090fb                cv.dotsp.b      ra,ra,ra
+.*:    9021117b                cv.dotsp.b      sp,sp,sp
+.*:    9084147b                cv.dotsp.b      s0,s0,s0
+.*:    914a1a7b                cv.dotsp.b      s4,s4,s4
+.*:    91ff9ffb                cv.dotsp.b      t6,t6,t6
+.*:    9000007b                cv.dotsp.h      zero,zero,zero
+.*:    901080fb                cv.dotsp.h      ra,ra,ra
+.*:    9021017b                cv.dotsp.h      sp,sp,sp
+.*:    9084047b                cv.dotsp.h      s0,s0,s0
+.*:    914a0a7b                cv.dotsp.h      s4,s4,s4
+.*:    91ff8ffb                cv.dotsp.h      t6,t6,t6
+.*:    9000507b                cv.dotsp.sc.b   zero,zero,zero
+.*:    9010d0fb                cv.dotsp.sc.b   ra,ra,ra
+.*:    9021517b                cv.dotsp.sc.b   sp,sp,sp
+.*:    9084547b                cv.dotsp.sc.b   s0,s0,s0
+.*:    914a5a7b                cv.dotsp.sc.b   s4,s4,s4
+.*:    91ffdffb                cv.dotsp.sc.b   t6,t6,t6
+.*:    9000407b                cv.dotsp.sc.h   zero,zero,zero
+.*:    9010c0fb                cv.dotsp.sc.h   ra,ra,ra
+.*:    9021417b                cv.dotsp.sc.h   sp,sp,sp
+.*:    9084447b                cv.dotsp.sc.h   s0,s0,s0
+.*:    914a4a7b                cv.dotsp.sc.h   s4,s4,s4
+.*:    91ffcffb                cv.dotsp.sc.h   t6,t6,t6
+.*:    90a0707b                cv.dotsp.sci.b  zero,zero,20
+.*:    90a0f0fb                cv.dotsp.sci.b  ra,ra,20
+.*:    90a1717b                cv.dotsp.sci.b  sp,sp,20
+.*:    90a4747b                cv.dotsp.sci.b  s0,s0,20
+.*:    90aa7a7b                cv.dotsp.sci.b  s4,s4,20
+.*:    90affffb                cv.dotsp.sci.b  t6,t6,20
+.*:    9103f37b                cv.dotsp.sci.b  t1,t2,-32
+.*:    9003f37b                cv.dotsp.sci.b  t1,t2,0
+.*:    92f3f37b                cv.dotsp.sci.b  t1,t2,31
+.*:    90a0607b                cv.dotsp.sci.h  zero,zero,20
+.*:    90a0e0fb                cv.dotsp.sci.h  ra,ra,20
+.*:    90a1617b                cv.dotsp.sci.h  sp,sp,20
+.*:    90a4647b                cv.dotsp.sci.h  s0,s0,20
+.*:    90aa6a7b                cv.dotsp.sci.h  s4,s4,20
+.*:    90afeffb                cv.dotsp.sci.h  t6,t6,20
+.*:    9103e37b                cv.dotsp.sci.h  t1,t2,-32
+.*:    9003e37b                cv.dotsp.sci.h  t1,t2,0
+.*:    92f3e37b                cv.dotsp.sci.h  t1,t2,31
+.*:    8000107b                cv.dotup.b      zero,zero,zero
+.*:    801090fb                cv.dotup.b      ra,ra,ra
+.*:    8021117b                cv.dotup.b      sp,sp,sp
+.*:    8084147b                cv.dotup.b      s0,s0,s0
+.*:    814a1a7b                cv.dotup.b      s4,s4,s4
+.*:    81ff9ffb                cv.dotup.b      t6,t6,t6
+.*:    8000007b                cv.dotup.h      zero,zero,zero
+.*:    801080fb                cv.dotup.h      ra,ra,ra
+.*:    8021017b                cv.dotup.h      sp,sp,sp
+.*:    8084047b                cv.dotup.h      s0,s0,s0
+.*:    814a0a7b                cv.dotup.h      s4,s4,s4
+.*:    81ff8ffb                cv.dotup.h      t6,t6,t6
+.*:    8000507b                cv.dotup.sc.b   zero,zero,zero
+.*:    8010d0fb                cv.dotup.sc.b   ra,ra,ra
+.*:    8021517b                cv.dotup.sc.b   sp,sp,sp
+.*:    8084547b                cv.dotup.sc.b   s0,s0,s0
+.*:    814a5a7b                cv.dotup.sc.b   s4,s4,s4
+.*:    81ffdffb                cv.dotup.sc.b   t6,t6,t6
+.*:    8000407b                cv.dotup.sc.h   zero,zero,zero
+.*:    8010c0fb                cv.dotup.sc.h   ra,ra,ra
+.*:    8021417b                cv.dotup.sc.h   sp,sp,sp
+.*:    8084447b                cv.dotup.sc.h   s0,s0,s0
+.*:    814a4a7b                cv.dotup.sc.h   s4,s4,s4
+.*:    81ffcffb                cv.dotup.sc.h   t6,t6,t6
+.*:    80a0707b                cv.dotup.sci.b  zero,zero,20
+.*:    80a0f0fb                cv.dotup.sci.b  ra,ra,20
+.*:    80a1717b                cv.dotup.sci.b  sp,sp,20
+.*:    80a4747b                cv.dotup.sci.b  s0,s0,20
+.*:    80aa7a7b                cv.dotup.sci.b  s4,s4,20
+.*:    80affffb                cv.dotup.sci.b  t6,t6,20
+.*:    8003f37b                cv.dotup.sci.b  t1,t2,0
+.*:    83f3f37b                cv.dotup.sci.b  t1,t2,63
+.*:    80a0607b                cv.dotup.sci.h  zero,zero,20
+.*:    80a0e0fb                cv.dotup.sci.h  ra,ra,20
+.*:    80a1617b                cv.dotup.sci.h  sp,sp,20
+.*:    80a4647b                cv.dotup.sci.h  s0,s0,20
+.*:    80aa6a7b                cv.dotup.sci.h  s4,s4,20
+.*:    80afeffb                cv.dotup.sci.h  t6,t6,20
+.*:    8003e37b                cv.dotup.sci.h  t1,t2,0
+.*:    83f3e37b                cv.dotup.sci.h  t1,t2,63
+.*:    8800107b                cv.dotusp.b     zero,zero,zero
+.*:    881090fb                cv.dotusp.b     ra,ra,ra
+.*:    8821117b                cv.dotusp.b     sp,sp,sp
+.*:    8884147b                cv.dotusp.b     s0,s0,s0
+.*:    894a1a7b                cv.dotusp.b     s4,s4,s4
+.*:    89ff9ffb                cv.dotusp.b     t6,t6,t6
+.*:    8800007b                cv.dotusp.h     zero,zero,zero
+.*:    881080fb                cv.dotusp.h     ra,ra,ra
+.*:    8821017b                cv.dotusp.h     sp,sp,sp
+.*:    8884047b                cv.dotusp.h     s0,s0,s0
+.*:    894a0a7b                cv.dotusp.h     s4,s4,s4
+.*:    89ff8ffb                cv.dotusp.h     t6,t6,t6
+.*:    8800507b                cv.dotusp.sc.b  zero,zero,zero
+.*:    8810d0fb                cv.dotusp.sc.b  ra,ra,ra
+.*:    8821517b                cv.dotusp.sc.b  sp,sp,sp
+.*:    8884547b                cv.dotusp.sc.b  s0,s0,s0
+.*:    894a5a7b                cv.dotusp.sc.b  s4,s4,s4
+.*:    89ffdffb                cv.dotusp.sc.b  t6,t6,t6
+.*:    8800407b                cv.dotusp.sc.h  zero,zero,zero
+.*:    8810c0fb                cv.dotusp.sc.h  ra,ra,ra
+.*:    8821417b                cv.dotusp.sc.h  sp,sp,sp
+.*:    8884447b                cv.dotusp.sc.h  s0,s0,s0
+.*:    894a4a7b                cv.dotusp.sc.h  s4,s4,s4
+.*:    89ffcffb                cv.dotusp.sc.h  t6,t6,t6
+.*:    88a0707b                cv.dotusp.sci.b zero,zero,20
+.*:    88a0f0fb                cv.dotusp.sci.b ra,ra,20
+.*:    88a1717b                cv.dotusp.sci.b sp,sp,20
+.*:    88a4747b                cv.dotusp.sci.b s0,s0,20
+.*:    88aa7a7b                cv.dotusp.sci.b s4,s4,20
+.*:    88affffb                cv.dotusp.sci.b t6,t6,20
+.*:    8903f37b                cv.dotusp.sci.b t1,t2,-32
+.*:    8803f37b                cv.dotusp.sci.b t1,t2,0
+.*:    8af3f37b                cv.dotusp.sci.b t1,t2,31
+.*:    88a0607b                cv.dotusp.sci.h zero,zero,20
+.*:    88a0e0fb                cv.dotusp.sci.h ra,ra,20
+.*:    88a1617b                cv.dotusp.sci.h sp,sp,20
+.*:    88a4647b                cv.dotusp.sci.h s0,s0,20
+.*:    88aa6a7b                cv.dotusp.sci.h s4,s4,20
+.*:    88afeffb                cv.dotusp.sci.h t6,t6,20
+.*:    8903e37b                cv.dotusp.sci.h t1,t2,-32
+.*:    8803e37b                cv.dotusp.sci.h t1,t2,0
+.*:    8af3e37b                cv.dotusp.sci.h t1,t2,31
+.*:    b810107b                cv.extract.b    zero,zero,2
+.*:    b81090fb                cv.extract.b    ra,ra,2
+.*:    b811117b                cv.extract.b    sp,sp,2
+.*:    b814147b                cv.extract.b    s0,s0,2
+.*:    b81a1a7b                cv.extract.b    s4,s4,2
+.*:    b81f9ffb                cv.extract.b    t6,t6,2
+.*:    b803937b                cv.extract.b    t1,t2,0
+.*:    ba13937b                cv.extract.b    t1,t2,3
+.*:    ba00007b                cv.extract.h    zero,zero,1
+.*:    ba0080fb                cv.extract.h    ra,ra,1
+.*:    ba01017b                cv.extract.h    sp,sp,1
+.*:    ba04047b                cv.extract.h    s0,s0,1
+.*:    ba0a0a7b                cv.extract.h    s4,s4,1
+.*:    ba0f8ffb                cv.extract.h    t6,t6,1
+.*:    b803837b                cv.extract.h    t1,t2,0
+.*:    ba03837b                cv.extract.h    t1,t2,1
+.*:    b810307b                cv.extractu.b   zero,zero,2
+.*:    b810b0fb                cv.extractu.b   ra,ra,2
+.*:    b811317b                cv.extractu.b   sp,sp,2
+.*:    b814347b                cv.extractu.b   s0,s0,2
+.*:    b81a3a7b                cv.extractu.b   s4,s4,2
+.*:    b81fbffb                cv.extractu.b   t6,t6,2
+.*:    b803b37b                cv.extractu.b   t1,t2,0
+.*:    ba13b37b                cv.extractu.b   t1,t2,3
+.*:    ba00207b                cv.extractu.h   zero,zero,1
+.*:    ba00a0fb                cv.extractu.h   ra,ra,1
+.*:    ba01217b                cv.extractu.h   sp,sp,1
+.*:    ba04247b                cv.extractu.h   s0,s0,1
+.*:    ba0a2a7b                cv.extractu.h   s4,s4,1
+.*:    ba0faffb                cv.extractu.h   t6,t6,1
+.*:    b803a37b                cv.extractu.h   t1,t2,0
+.*:    ba03a37b                cv.extractu.h   t1,t2,1
+.*:    b810507b                cv.insert.b     zero,zero,2
+.*:    b810d0fb                cv.insert.b     ra,ra,2
+.*:    b811517b                cv.insert.b     sp,sp,2
+.*:    b814547b                cv.insert.b     s0,s0,2
+.*:    b81a5a7b                cv.insert.b     s4,s4,2
+.*:    b81fdffb                cv.insert.b     t6,t6,2
+.*:    b803d37b                cv.insert.b     t1,t2,0
+.*:    ba13d37b                cv.insert.b     t1,t2,3
+.*:    ba00407b                cv.insert.h     zero,zero,1
+.*:    ba00c0fb                cv.insert.h     ra,ra,1
+.*:    ba01417b                cv.insert.h     sp,sp,1
+.*:    ba04447b                cv.insert.h     s0,s0,1
+.*:    ba0a4a7b                cv.insert.h     s4,s4,1
+.*:    ba0fcffb                cv.insert.h     t6,t6,1
+.*:    b803c37b                cv.insert.h     t1,t2,0
+.*:    ba03c37b                cv.insert.h     t1,t2,1
+.*:    3000107b                cv.max.b        zero,zero,zero
+.*:    301090fb                cv.max.b        ra,ra,ra
+.*:    3021117b                cv.max.b        sp,sp,sp
+.*:    3084147b                cv.max.b        s0,s0,s0
+.*:    314a1a7b                cv.max.b        s4,s4,s4
+.*:    31ff9ffb                cv.max.b        t6,t6,t6
+.*:    3000007b                cv.max.h        zero,zero,zero
+.*:    301080fb                cv.max.h        ra,ra,ra
+.*:    3021017b                cv.max.h        sp,sp,sp
+.*:    3084047b                cv.max.h        s0,s0,s0
+.*:    314a0a7b                cv.max.h        s4,s4,s4
+.*:    31ff8ffb                cv.max.h        t6,t6,t6
+.*:    3000507b                cv.max.sc.b     zero,zero,zero
+.*:    3010d0fb                cv.max.sc.b     ra,ra,ra
+.*:    3021517b                cv.max.sc.b     sp,sp,sp
+.*:    3084547b                cv.max.sc.b     s0,s0,s0
+.*:    314a5a7b                cv.max.sc.b     s4,s4,s4
+.*:    31ffdffb                cv.max.sc.b     t6,t6,t6
+.*:    3000407b                cv.max.sc.h     zero,zero,zero
+.*:    3010c0fb                cv.max.sc.h     ra,ra,ra
+.*:    3021417b                cv.max.sc.h     sp,sp,sp
+.*:    3084447b                cv.max.sc.h     s0,s0,s0
+.*:    314a4a7b                cv.max.sc.h     s4,s4,s4
+.*:    31ffcffb                cv.max.sc.h     t6,t6,t6
+.*:    30a0707b                cv.max.sci.b    zero,zero,20
+.*:    30a0f0fb                cv.max.sci.b    ra,ra,20
+.*:    30a1717b                cv.max.sci.b    sp,sp,20
+.*:    30a4747b                cv.max.sci.b    s0,s0,20
+.*:    30aa7a7b                cv.max.sci.b    s4,s4,20
+.*:    30affffb                cv.max.sci.b    t6,t6,20
+.*:    3103f37b                cv.max.sci.b    t1,t2,-32
+.*:    3003f37b                cv.max.sci.b    t1,t2,0
+.*:    32f3f37b                cv.max.sci.b    t1,t2,31
+.*:    30a0607b                cv.max.sci.h    zero,zero,20
+.*:    30a0e0fb                cv.max.sci.h    ra,ra,20
+.*:    30a1617b                cv.max.sci.h    sp,sp,20
+.*:    30a4647b                cv.max.sci.h    s0,s0,20
+.*:    30aa6a7b                cv.max.sci.h    s4,s4,20
+.*:    30afeffb                cv.max.sci.h    t6,t6,20
+.*:    3103e37b                cv.max.sci.h    t1,t2,-32
+.*:    3003e37b                cv.max.sci.h    t1,t2,0
+.*:    32f3e37b                cv.max.sci.h    t1,t2,31
+.*:    3800107b                cv.maxu.b       zero,zero,zero
+.*:    381090fb                cv.maxu.b       ra,ra,ra
+.*:    3821117b                cv.maxu.b       sp,sp,sp
+.*:    3884147b                cv.maxu.b       s0,s0,s0
+.*:    394a1a7b                cv.maxu.b       s4,s4,s4
+.*:    39ff9ffb                cv.maxu.b       t6,t6,t6
+.*:    3800007b                cv.maxu.h       zero,zero,zero
+.*:    381080fb                cv.maxu.h       ra,ra,ra
+.*:    3821017b                cv.maxu.h       sp,sp,sp
+.*:    3884047b                cv.maxu.h       s0,s0,s0
+.*:    394a0a7b                cv.maxu.h       s4,s4,s4
+.*:    39ff8ffb                cv.maxu.h       t6,t6,t6
+.*:    3800507b                cv.maxu.sc.b    zero,zero,zero
+.*:    3810d0fb                cv.maxu.sc.b    ra,ra,ra
+.*:    3821517b                cv.maxu.sc.b    sp,sp,sp
+.*:    3884547b                cv.maxu.sc.b    s0,s0,s0
+.*:    394a5a7b                cv.maxu.sc.b    s4,s4,s4
+.*:    39ffdffb                cv.maxu.sc.b    t6,t6,t6
+.*:    3800407b                cv.maxu.sc.h    zero,zero,zero
+.*:    3810c0fb                cv.maxu.sc.h    ra,ra,ra
+.*:    3821417b                cv.maxu.sc.h    sp,sp,sp
+.*:    3884447b                cv.maxu.sc.h    s0,s0,s0
+.*:    394a4a7b                cv.maxu.sc.h    s4,s4,s4
+.*:    39ffcffb                cv.maxu.sc.h    t6,t6,t6
+.*:    38a0707b                cv.maxu.sci.b   zero,zero,20
+.*:    38a0f0fb                cv.maxu.sci.b   ra,ra,20
+.*:    38a1717b                cv.maxu.sci.b   sp,sp,20
+.*:    38a4747b                cv.maxu.sci.b   s0,s0,20
+.*:    38aa7a7b                cv.maxu.sci.b   s4,s4,20
+.*:    38affffb                cv.maxu.sci.b   t6,t6,20
+.*:    3803f37b                cv.maxu.sci.b   t1,t2,0
+.*:    3bf3f37b                cv.maxu.sci.b   t1,t2,63
+.*:    38a0607b                cv.maxu.sci.h   zero,zero,20
+.*:    38a0e0fb                cv.maxu.sci.h   ra,ra,20
+.*:    38a1617b                cv.maxu.sci.h   sp,sp,20
+.*:    38a4647b                cv.maxu.sci.h   s0,s0,20
+.*:    38aa6a7b                cv.maxu.sci.h   s4,s4,20
+.*:    38afeffb                cv.maxu.sci.h   t6,t6,20
+.*:    3803e37b                cv.maxu.sci.h   t1,t2,0
+.*:    3bf3e37b                cv.maxu.sci.h   t1,t2,63
+.*:    2000107b                cv.min.b        zero,zero,zero
+.*:    201090fb                cv.min.b        ra,ra,ra
+.*:    2021117b                cv.min.b        sp,sp,sp
+.*:    2084147b                cv.min.b        s0,s0,s0
+.*:    214a1a7b                cv.min.b        s4,s4,s4
+.*:    21ff9ffb                cv.min.b        t6,t6,t6
+.*:    2000007b                cv.min.h        zero,zero,zero
+.*:    201080fb                cv.min.h        ra,ra,ra
+.*:    2021017b                cv.min.h        sp,sp,sp
+.*:    2084047b                cv.min.h        s0,s0,s0
+.*:    214a0a7b                cv.min.h        s4,s4,s4
+.*:    21ff8ffb                cv.min.h        t6,t6,t6
+.*:    2000507b                cv.min.sc.b     zero,zero,zero
+.*:    2010d0fb                cv.min.sc.b     ra,ra,ra
+.*:    2021517b                cv.min.sc.b     sp,sp,sp
+.*:    2084547b                cv.min.sc.b     s0,s0,s0
+.*:    214a5a7b                cv.min.sc.b     s4,s4,s4
+.*:    21ffdffb                cv.min.sc.b     t6,t6,t6
+.*:    2000407b                cv.min.sc.h     zero,zero,zero
+.*:    2010c0fb                cv.min.sc.h     ra,ra,ra
+.*:    2021417b                cv.min.sc.h     sp,sp,sp
+.*:    2084447b                cv.min.sc.h     s0,s0,s0
+.*:    214a4a7b                cv.min.sc.h     s4,s4,s4
+.*:    21ffcffb                cv.min.sc.h     t6,t6,t6
+.*:    20a0707b                cv.min.sci.b    zero,zero,20
+.*:    20a0f0fb                cv.min.sci.b    ra,ra,20
+.*:    20a1717b                cv.min.sci.b    sp,sp,20
+.*:    20a4747b                cv.min.sci.b    s0,s0,20
+.*:    20aa7a7b                cv.min.sci.b    s4,s4,20
+.*:    20affffb                cv.min.sci.b    t6,t6,20
+.*:    2103f37b                cv.min.sci.b    t1,t2,-32
+.*:    2003f37b                cv.min.sci.b    t1,t2,0
+.*:    22f3f37b                cv.min.sci.b    t1,t2,31
+.*:    20a0607b                cv.min.sci.h    zero,zero,20
+.*:    20a0e0fb                cv.min.sci.h    ra,ra,20
+.*:    20a1617b                cv.min.sci.h    sp,sp,20
+.*:    20a4647b                cv.min.sci.h    s0,s0,20
+.*:    20aa6a7b                cv.min.sci.h    s4,s4,20
+.*:    20afeffb                cv.min.sci.h    t6,t6,20
+.*:    2103e37b                cv.min.sci.h    t1,t2,-32
+.*:    2003e37b                cv.min.sci.h    t1,t2,0
+.*:    22f3e37b                cv.min.sci.h    t1,t2,31
+.*:    2800107b                cv.minu.b       zero,zero,zero
+.*:    281090fb                cv.minu.b       ra,ra,ra
+.*:    2821117b                cv.minu.b       sp,sp,sp
+.*:    2884147b                cv.minu.b       s0,s0,s0
+.*:    294a1a7b                cv.minu.b       s4,s4,s4
+.*:    29ff9ffb                cv.minu.b       t6,t6,t6
+.*:    2800007b                cv.minu.h       zero,zero,zero
+.*:    281080fb                cv.minu.h       ra,ra,ra
+.*:    2821017b                cv.minu.h       sp,sp,sp
+.*:    2884047b                cv.minu.h       s0,s0,s0
+.*:    294a0a7b                cv.minu.h       s4,s4,s4
+.*:    29ff8ffb                cv.minu.h       t6,t6,t6
+.*:    2800507b                cv.minu.sc.b    zero,zero,zero
+.*:    2810d0fb                cv.minu.sc.b    ra,ra,ra
+.*:    2821517b                cv.minu.sc.b    sp,sp,sp
+.*:    2884547b                cv.minu.sc.b    s0,s0,s0
+.*:    294a5a7b                cv.minu.sc.b    s4,s4,s4
+.*:    29ffdffb                cv.minu.sc.b    t6,t6,t6
+.*:    2800407b                cv.minu.sc.h    zero,zero,zero
+.*:    2810c0fb                cv.minu.sc.h    ra,ra,ra
+.*:    2821417b                cv.minu.sc.h    sp,sp,sp
+.*:    2884447b                cv.minu.sc.h    s0,s0,s0
+.*:    294a4a7b                cv.minu.sc.h    s4,s4,s4
+.*:    29ffcffb                cv.minu.sc.h    t6,t6,t6
+.*:    28a0707b                cv.minu.sci.b   zero,zero,20
+.*:    28a0f0fb                cv.minu.sci.b   ra,ra,20
+.*:    28a1717b                cv.minu.sci.b   sp,sp,20
+.*:    28a4747b                cv.minu.sci.b   s0,s0,20
+.*:    28aa7a7b                cv.minu.sci.b   s4,s4,20
+.*:    28affffb                cv.minu.sci.b   t6,t6,20
+.*:    2803f37b                cv.minu.sci.b   t1,t2,0
+.*:    2bf3f37b                cv.minu.sci.b   t1,t2,63
+.*:    28a0607b                cv.minu.sci.h   zero,zero,20
+.*:    28a0e0fb                cv.minu.sci.h   ra,ra,20
+.*:    28a1617b                cv.minu.sci.h   sp,sp,20
+.*:    28a4647b                cv.minu.sci.h   s0,s0,20
+.*:    28aa6a7b                cv.minu.sci.h   s4,s4,20
+.*:    28afeffb                cv.minu.sci.h   t6,t6,20
+.*:    2803e37b                cv.minu.sci.h   t1,t2,0
+.*:    2bf3e37b                cv.minu.sci.h   t1,t2,63
+.*:    5800107b                cv.or.b zero,zero,zero
+.*:    581090fb                cv.or.b ra,ra,ra
+.*:    5821117b                cv.or.b sp,sp,sp
+.*:    5884147b                cv.or.b s0,s0,s0
+.*:    594a1a7b                cv.or.b s4,s4,s4
+.*:    59ff9ffb                cv.or.b t6,t6,t6
+.*:    5800007b                cv.or.h zero,zero,zero
+.*:    581080fb                cv.or.h ra,ra,ra
+.*:    5821017b                cv.or.h sp,sp,sp
+.*:    5884047b                cv.or.h s0,s0,s0
+.*:    594a0a7b                cv.or.h s4,s4,s4
+.*:    59ff8ffb                cv.or.h t6,t6,t6
+.*:    5800507b                cv.or.sc.b      zero,zero,zero
+.*:    5810d0fb                cv.or.sc.b      ra,ra,ra
+.*:    5821517b                cv.or.sc.b      sp,sp,sp
+.*:    5884547b                cv.or.sc.b      s0,s0,s0
+.*:    594a5a7b                cv.or.sc.b      s4,s4,s4
+.*:    59ffdffb                cv.or.sc.b      t6,t6,t6
+.*:    5800407b                cv.or.sc.h      zero,zero,zero
+.*:    5810c0fb                cv.or.sc.h      ra,ra,ra
+.*:    5821417b                cv.or.sc.h      sp,sp,sp
+.*:    5884447b                cv.or.sc.h      s0,s0,s0
+.*:    594a4a7b                cv.or.sc.h      s4,s4,s4
+.*:    59ffcffb                cv.or.sc.h      t6,t6,t6
+.*:    58a0707b                cv.or.sci.b     zero,zero,20
+.*:    58a0f0fb                cv.or.sci.b     ra,ra,20
+.*:    58a1717b                cv.or.sci.b     sp,sp,20
+.*:    58a4747b                cv.or.sci.b     s0,s0,20
+.*:    58aa7a7b                cv.or.sci.b     s4,s4,20
+.*:    58affffb                cv.or.sci.b     t6,t6,20
+.*:    5903f37b                cv.or.sci.b     t1,t2,-32
+.*:    5803f37b                cv.or.sci.b     t1,t2,0
+.*:    5af3f37b                cv.or.sci.b     t1,t2,31
+.*:    58a0607b                cv.or.sci.h     zero,zero,20
+.*:    58a0e0fb                cv.or.sci.h     ra,ra,20
+.*:    58a1617b                cv.or.sci.h     sp,sp,20
+.*:    58a4647b                cv.or.sci.h     s0,s0,20
+.*:    58aa6a7b                cv.or.sci.h     s4,s4,20
+.*:    58afeffb                cv.or.sci.h     t6,t6,20
+.*:    5903e37b                cv.or.sci.h     t1,t2,-32
+.*:    5803e37b                cv.or.sci.h     t1,t2,0
+.*:    5af3e37b                cv.or.sci.h     t1,t2,31
+.*:    fa00107b                cv.packhi.b     zero,zero,zero
+.*:    fa1090fb                cv.packhi.b     ra,ra,ra
+.*:    fa21117b                cv.packhi.b     sp,sp,sp
+.*:    fa84147b                cv.packhi.b     s0,s0,s0
+.*:    fb4a1a7b                cv.packhi.b     s4,s4,s4
+.*:    fbff9ffb                cv.packhi.b     t6,t6,t6
+.*:    f200007b                cv.pack.h       zero,zero,zero
+.*:    f21080fb                cv.pack.h       ra,ra,ra
+.*:    f221017b                cv.pack.h       sp,sp,sp
+.*:    f284047b                cv.pack.h       s0,s0,s0
+.*:    f34a0a7b                cv.pack.h       s4,s4,s4
+.*:    f3ff8ffb                cv.pack.h       t6,t6,t6
+.*:    f800107b                cv.packlo.b     zero,zero,zero
+.*:    f81090fb                cv.packlo.b     ra,ra,ra
+.*:    f821117b                cv.packlo.b     sp,sp,sp
+.*:    f884147b                cv.packlo.b     s0,s0,s0
+.*:    f94a1a7b                cv.packlo.b     s4,s4,s4
+.*:    f9ff9ffb                cv.packlo.b     t6,t6,t6
+.*:    f000007b                cv.pack zero,zero,zero
+.*:    f01080fb                cv.pack ra,ra,ra
+.*:    f021017b                cv.pack sp,sp,sp
+.*:    f084047b                cv.pack s0,s0,s0
+.*:    f14a0a7b                cv.pack s4,s4,s4
+.*:    f1ff8ffb                cv.pack t6,t6,t6
+.*:    a800107b                cv.sdotsp.b     zero,zero,zero
+.*:    a81090fb                cv.sdotsp.b     ra,ra,ra
+.*:    a821117b                cv.sdotsp.b     sp,sp,sp
+.*:    a884147b                cv.sdotsp.b     s0,s0,s0
+.*:    a94a1a7b                cv.sdotsp.b     s4,s4,s4
+.*:    a9ff9ffb                cv.sdotsp.b     t6,t6,t6
+.*:    a800007b                cv.sdotsp.h     zero,zero,zero
+.*:    a81080fb                cv.sdotsp.h     ra,ra,ra
+.*:    a821017b                cv.sdotsp.h     sp,sp,sp
+.*:    a884047b                cv.sdotsp.h     s0,s0,s0
+.*:    a94a0a7b                cv.sdotsp.h     s4,s4,s4
+.*:    a9ff8ffb                cv.sdotsp.h     t6,t6,t6
+.*:    a800507b                cv.sdotsp.sc.b  zero,zero,zero
+.*:    a810d0fb                cv.sdotsp.sc.b  ra,ra,ra
+.*:    a821517b                cv.sdotsp.sc.b  sp,sp,sp
+.*:    a884547b                cv.sdotsp.sc.b  s0,s0,s0
+.*:    a94a5a7b                cv.sdotsp.sc.b  s4,s4,s4
+.*:    a9ffdffb                cv.sdotsp.sc.b  t6,t6,t6
+.*:    a800407b                cv.sdotsp.sc.h  zero,zero,zero
+.*:    a810c0fb                cv.sdotsp.sc.h  ra,ra,ra
+.*:    a821417b                cv.sdotsp.sc.h  sp,sp,sp
+.*:    a884447b                cv.sdotsp.sc.h  s0,s0,s0
+.*:    a94a4a7b                cv.sdotsp.sc.h  s4,s4,s4
+.*:    a9ffcffb                cv.sdotsp.sc.h  t6,t6,t6
+.*:    a8a0707b                cv.sdotsp.sci.b zero,zero,20
+.*:    a8a0f0fb                cv.sdotsp.sci.b ra,ra,20
+.*:    a8a1717b                cv.sdotsp.sci.b sp,sp,20
+.*:    a8a4747b                cv.sdotsp.sci.b s0,s0,20
+.*:    a8aa7a7b                cv.sdotsp.sci.b s4,s4,20
+.*:    a8affffb                cv.sdotsp.sci.b t6,t6,20
+.*:    a903f37b                cv.sdotsp.sci.b t1,t2,-32
+.*:    a803f37b                cv.sdotsp.sci.b t1,t2,0
+.*:    aaf3f37b                cv.sdotsp.sci.b t1,t2,31
+.*:    a8a0607b                cv.sdotsp.sci.h zero,zero,20
+.*:    a8a0e0fb                cv.sdotsp.sci.h ra,ra,20
+.*:    a8a1617b                cv.sdotsp.sci.h sp,sp,20
+.*:    a8a4647b                cv.sdotsp.sci.h s0,s0,20
+.*:    a8aa6a7b                cv.sdotsp.sci.h s4,s4,20
+.*:    a8afeffb                cv.sdotsp.sci.h t6,t6,20
+.*:    a903e37b                cv.sdotsp.sci.h t1,t2,-32
+.*:    a803e37b                cv.sdotsp.sci.h t1,t2,0
+.*:    aaf3e37b                cv.sdotsp.sci.h t1,t2,31
+.*:    9800107b                cv.sdotup.b     zero,zero,zero
+.*:    981090fb                cv.sdotup.b     ra,ra,ra
+.*:    9821117b                cv.sdotup.b     sp,sp,sp
+.*:    9884147b                cv.sdotup.b     s0,s0,s0
+.*:    994a1a7b                cv.sdotup.b     s4,s4,s4
+.*:    99ff9ffb                cv.sdotup.b     t6,t6,t6
+.*:    9800007b                cv.sdotup.h     zero,zero,zero
+.*:    981080fb                cv.sdotup.h     ra,ra,ra
+.*:    9821017b                cv.sdotup.h     sp,sp,sp
+.*:    9884047b                cv.sdotup.h     s0,s0,s0
+.*:    994a0a7b                cv.sdotup.h     s4,s4,s4
+.*:    99ff8ffb                cv.sdotup.h     t6,t6,t6
+.*:    9800507b                cv.sdotup.sc.b  zero,zero,zero
+.*:    9810d0fb                cv.sdotup.sc.b  ra,ra,ra
+.*:    9821517b                cv.sdotup.sc.b  sp,sp,sp
+.*:    9884547b                cv.sdotup.sc.b  s0,s0,s0
+.*:    994a5a7b                cv.sdotup.sc.b  s4,s4,s4
+.*:    99ffdffb                cv.sdotup.sc.b  t6,t6,t6
+.*:    9800407b                cv.sdotup.sc.h  zero,zero,zero
+.*:    9810c0fb                cv.sdotup.sc.h  ra,ra,ra
+.*:    9821417b                cv.sdotup.sc.h  sp,sp,sp
+.*:    9884447b                cv.sdotup.sc.h  s0,s0,s0
+.*:    994a4a7b                cv.sdotup.sc.h  s4,s4,s4
+.*:    99ffcffb                cv.sdotup.sc.h  t6,t6,t6
+.*:    98a0707b                cv.sdotup.sci.b zero,zero,20
+.*:    98a0f0fb                cv.sdotup.sci.b ra,ra,20
+.*:    98a1717b                cv.sdotup.sci.b sp,sp,20
+.*:    98a4747b                cv.sdotup.sci.b s0,s0,20
+.*:    98aa7a7b                cv.sdotup.sci.b s4,s4,20
+.*:    98affffb                cv.sdotup.sci.b t6,t6,20
+.*:    9803f37b                cv.sdotup.sci.b t1,t2,0
+.*:    9bf3f37b                cv.sdotup.sci.b t1,t2,63
+.*:    98a0607b                cv.sdotup.sci.h zero,zero,20
+.*:    98a0e0fb                cv.sdotup.sci.h ra,ra,20
+.*:    98a1617b                cv.sdotup.sci.h sp,sp,20
+.*:    98a4647b                cv.sdotup.sci.h s0,s0,20
+.*:    98aa6a7b                cv.sdotup.sci.h s4,s4,20
+.*:    98afeffb                cv.sdotup.sci.h t6,t6,20
+.*:    9803e37b                cv.sdotup.sci.h t1,t2,0
+.*:    9bf3e37b                cv.sdotup.sci.h t1,t2,63
+.*:    a000107b                cv.sdotusp.b    zero,zero,zero
+.*:    a01090fb                cv.sdotusp.b    ra,ra,ra
+.*:    a021117b                cv.sdotusp.b    sp,sp,sp
+.*:    a084147b                cv.sdotusp.b    s0,s0,s0
+.*:    a14a1a7b                cv.sdotusp.b    s4,s4,s4
+.*:    a1ff9ffb                cv.sdotusp.b    t6,t6,t6
+.*:    a000007b                cv.sdotusp.h    zero,zero,zero
+.*:    a01080fb                cv.sdotusp.h    ra,ra,ra
+.*:    a021017b                cv.sdotusp.h    sp,sp,sp
+.*:    a084047b                cv.sdotusp.h    s0,s0,s0
+.*:    a14a0a7b                cv.sdotusp.h    s4,s4,s4
+.*:    a1ff8ffb                cv.sdotusp.h    t6,t6,t6
+.*:    a000507b                cv.sdotusp.sc.b zero,zero,zero
+.*:    a010d0fb                cv.sdotusp.sc.b ra,ra,ra
+.*:    a021517b                cv.sdotusp.sc.b sp,sp,sp
+.*:    a084547b                cv.sdotusp.sc.b s0,s0,s0
+.*:    a14a5a7b                cv.sdotusp.sc.b s4,s4,s4
+.*:    a1ffdffb                cv.sdotusp.sc.b t6,t6,t6
+.*:    a000407b                cv.sdotusp.sc.h zero,zero,zero
+.*:    a010c0fb                cv.sdotusp.sc.h ra,ra,ra
+.*:    a021417b                cv.sdotusp.sc.h sp,sp,sp
+.*:    a084447b                cv.sdotusp.sc.h s0,s0,s0
+.*:    a14a4a7b                cv.sdotusp.sc.h s4,s4,s4
+.*:    a1ffcffb                cv.sdotusp.sc.h t6,t6,t6
+.*:    a0a0707b                cv.sdotusp.sci.b        zero,zero,20
+.*:    a0a0f0fb                cv.sdotusp.sci.b        ra,ra,20
+.*:    a0a1717b                cv.sdotusp.sci.b        sp,sp,20
+.*:    a0a4747b                cv.sdotusp.sci.b        s0,s0,20
+.*:    a0aa7a7b                cv.sdotusp.sci.b        s4,s4,20
+.*:    a0affffb                cv.sdotusp.sci.b        t6,t6,20
+.*:    a103f37b                cv.sdotusp.sci.b        t1,t2,-32
+.*:    a003f37b                cv.sdotusp.sci.b        t1,t2,0
+.*:    a2f3f37b                cv.sdotusp.sci.b        t1,t2,31
+.*:    a0a0607b                cv.sdotusp.sci.h        zero,zero,20
+.*:    a0a0e0fb                cv.sdotusp.sci.h        ra,ra,20
+.*:    a0a1617b                cv.sdotusp.sci.h        sp,sp,20
+.*:    a0a4647b                cv.sdotusp.sci.h        s0,s0,20
+.*:    a0aa6a7b                cv.sdotusp.sci.h        s4,s4,20
+.*:    a0afeffb                cv.sdotusp.sci.h        t6,t6,20
+.*:    a103e37b                cv.sdotusp.sci.h        t1,t2,-32
+.*:    a003e37b                cv.sdotusp.sci.h        t1,t2,0
+.*:    a2f3e37b                cv.sdotusp.sci.h        t1,t2,31
+.*:    e000107b                cv.shuffle2.b   zero,zero,zero
+.*:    e01090fb                cv.shuffle2.b   ra,ra,ra
+.*:    e021117b                cv.shuffle2.b   sp,sp,sp
+.*:    e084147b                cv.shuffle2.b   s0,s0,s0
+.*:    e14a1a7b                cv.shuffle2.b   s4,s4,s4
+.*:    e1ff9ffb                cv.shuffle2.b   t6,t6,t6
+.*:    e000007b                cv.shuffle2.h   zero,zero,zero
+.*:    e01080fb                cv.shuffle2.h   ra,ra,ra
+.*:    e021017b                cv.shuffle2.h   sp,sp,sp
+.*:    e084047b                cv.shuffle2.h   s0,s0,s0
+.*:    e14a0a7b                cv.shuffle2.h   s4,s4,s4
+.*:    e1ff8ffb                cv.shuffle2.h   t6,t6,t6
+.*:    c000107b                cv.shuffle.b    zero,zero,zero
+.*:    c01090fb                cv.shuffle.b    ra,ra,ra
+.*:    c021117b                cv.shuffle.b    sp,sp,sp
+.*:    c084147b                cv.shuffle.b    s0,s0,s0
+.*:    c14a1a7b                cv.shuffle.b    s4,s4,s4
+.*:    c1ff9ffb                cv.shuffle.b    t6,t6,t6
+.*:    c000007b                cv.shuffle.h    zero,zero,zero
+.*:    c01080fb                cv.shuffle.h    ra,ra,ra
+.*:    c021017b                cv.shuffle.h    sp,sp,sp
+.*:    c084047b                cv.shuffle.h    s0,s0,s0
+.*:    c14a0a7b                cv.shuffle.h    s4,s4,s4
+.*:    c1ff8ffb                cv.shuffle.h    t6,t6,t6
+.*:    c0a0707b                cv.shufflei0.sci.b      zero,zero,20
+.*:    c0a0f0fb                cv.shufflei0.sci.b      ra,ra,20
+.*:    c0a1717b                cv.shufflei0.sci.b      sp,sp,20
+.*:    c0a4747b                cv.shufflei0.sci.b      s0,s0,20
+.*:    c0aa7a7b                cv.shufflei0.sci.b      s4,s4,20
+.*:    c0affffb                cv.shufflei0.sci.b      t6,t6,20
+.*:    c003f37b                cv.shufflei0.sci.b      t1,t2,0
+.*:    c3f3f37b                cv.shufflei0.sci.b      t1,t2,63
+.*:    c8a0707b                cv.shufflei1.sci.b      zero,zero,20
+.*:    c8a0f0fb                cv.shufflei1.sci.b      ra,ra,20
+.*:    c8a1717b                cv.shufflei1.sci.b      sp,sp,20
+.*:    c8a4747b                cv.shufflei1.sci.b      s0,s0,20
+.*:    c8aa7a7b                cv.shufflei1.sci.b      s4,s4,20
+.*:    c8affffb                cv.shufflei1.sci.b      t6,t6,20
+.*:    c803f37b                cv.shufflei1.sci.b      t1,t2,0
+.*:    cbf3f37b                cv.shufflei1.sci.b      t1,t2,63
+.*:    d0a0707b                cv.shufflei2.sci.b      zero,zero,20
+.*:    d0a0f0fb                cv.shufflei2.sci.b      ra,ra,20
+.*:    d0a1717b                cv.shufflei2.sci.b      sp,sp,20
+.*:    d0a4747b                cv.shufflei2.sci.b      s0,s0,20
+.*:    d0aa7a7b                cv.shufflei2.sci.b      s4,s4,20
+.*:    d0affffb                cv.shufflei2.sci.b      t6,t6,20
+.*:    d003f37b                cv.shufflei2.sci.b      t1,t2,0
+.*:    d3f3f37b                cv.shufflei2.sci.b      t1,t2,63
+.*:    d8a0707b                cv.shufflei3.sci.b      zero,zero,20
+.*:    d8a0f0fb                cv.shufflei3.sci.b      ra,ra,20
+.*:    d8a1717b                cv.shufflei3.sci.b      sp,sp,20
+.*:    d8a4747b                cv.shufflei3.sci.b      s0,s0,20
+.*:    d8aa7a7b                cv.shufflei3.sci.b      s4,s4,20
+.*:    d8affffb                cv.shufflei3.sci.b      t6,t6,20
+.*:    d803f37b                cv.shufflei3.sci.b      t1,t2,0
+.*:    dbf3f37b                cv.shufflei3.sci.b      t1,t2,63
+.*:    c010607b                cv.shuffle.sci.h        zero,zero,2
+.*:    c010e0fb                cv.shuffle.sci.h        ra,ra,2
+.*:    c011617b                cv.shuffle.sci.h        sp,sp,2
+.*:    c014647b                cv.shuffle.sci.h        s0,s0,2
+.*:    c01a6a7b                cv.shuffle.sci.h        s4,s4,2
+.*:    c01feffb                cv.shuffle.sci.h        t6,t6,2
+.*:    c003e37b                cv.shuffle.sci.h        t1,t2,0
+.*:    c213e37b                cv.shuffle.sci.h        t1,t2,3
+.*:    5000107b                cv.sll.b        zero,zero,zero
+.*:    501090fb                cv.sll.b        ra,ra,ra
+.*:    5021117b                cv.sll.b        sp,sp,sp
+.*:    5084147b                cv.sll.b        s0,s0,s0
+.*:    514a1a7b                cv.sll.b        s4,s4,s4
+.*:    51ff9ffb                cv.sll.b        t6,t6,t6
+.*:    5000007b                cv.sll.h        zero,zero,zero
+.*:    501080fb                cv.sll.h        ra,ra,ra
+.*:    5021017b                cv.sll.h        sp,sp,sp
+.*:    5084047b                cv.sll.h        s0,s0,s0
+.*:    514a0a7b                cv.sll.h        s4,s4,s4
+.*:    51ff8ffb                cv.sll.h        t6,t6,t6
+.*:    5000507b                cv.sll.sc.b     zero,zero,zero
+.*:    5010d0fb                cv.sll.sc.b     ra,ra,ra
+.*:    5021517b                cv.sll.sc.b     sp,sp,sp
+.*:    5084547b                cv.sll.sc.b     s0,s0,s0
+.*:    514a5a7b                cv.sll.sc.b     s4,s4,s4
+.*:    51ffdffb                cv.sll.sc.b     t6,t6,t6
+.*:    5000407b                cv.sll.sc.h     zero,zero,zero
+.*:    5010c0fb                cv.sll.sc.h     ra,ra,ra
+.*:    5021417b                cv.sll.sc.h     sp,sp,sp
+.*:    5084447b                cv.sll.sc.h     s0,s0,s0
+.*:    514a4a7b                cv.sll.sc.h     s4,s4,s4
+.*:    51ffcffb                cv.sll.sc.h     t6,t6,t6
+.*:    5020707b                cv.sll.sci.b    zero,zero,4
+.*:    5020f0fb                cv.sll.sci.b    ra,ra,4
+.*:    5021717b                cv.sll.sci.b    sp,sp,4
+.*:    5024747b                cv.sll.sci.b    s0,s0,4
+.*:    502a7a7b                cv.sll.sci.b    s4,s4,4
+.*:    502ffffb                cv.sll.sci.b    t6,t6,4
+.*:    5003f37b                cv.sll.sci.b    t1,t2,0
+.*:    5233f37b                cv.sll.sci.b    t1,t2,7
+.*:    5060607b                cv.sll.sci.h    zero,zero,12
+.*:    5060e0fb                cv.sll.sci.h    ra,ra,12
+.*:    5061617b                cv.sll.sci.h    sp,sp,12
+.*:    5064647b                cv.sll.sci.h    s0,s0,12
+.*:    506a6a7b                cv.sll.sci.h    s4,s4,12
+.*:    506feffb                cv.sll.sci.h    t6,t6,12
+.*:    5003e37b                cv.sll.sci.h    t1,t2,0
+.*:    5273e37b                cv.sll.sci.h    t1,t2,15
+.*:    4800107b                cv.sra.b        zero,zero,zero
+.*:    481090fb                cv.sra.b        ra,ra,ra
+.*:    4821117b                cv.sra.b        sp,sp,sp
+.*:    4884147b                cv.sra.b        s0,s0,s0
+.*:    494a1a7b                cv.sra.b        s4,s4,s4
+.*:    49ff9ffb                cv.sra.b        t6,t6,t6
+.*:    4800007b                cv.sra.h        zero,zero,zero
+.*:    481080fb                cv.sra.h        ra,ra,ra
+.*:    4821017b                cv.sra.h        sp,sp,sp
+.*:    4884047b                cv.sra.h        s0,s0,s0
+.*:    494a0a7b                cv.sra.h        s4,s4,s4
+.*:    49ff8ffb                cv.sra.h        t6,t6,t6
+.*:    4800507b                cv.sra.sc.b     zero,zero,zero
+.*:    4810d0fb                cv.sra.sc.b     ra,ra,ra
+.*:    4821517b                cv.sra.sc.b     sp,sp,sp
+.*:    4884547b                cv.sra.sc.b     s0,s0,s0
+.*:    494a5a7b                cv.sra.sc.b     s4,s4,s4
+.*:    49ffdffb                cv.sra.sc.b     t6,t6,t6
+.*:    4800407b                cv.sra.sc.h     zero,zero,zero
+.*:    4810c0fb                cv.sra.sc.h     ra,ra,ra
+.*:    4821417b                cv.sra.sc.h     sp,sp,sp
+.*:    4884447b                cv.sra.sc.h     s0,s0,s0
+.*:    494a4a7b                cv.sra.sc.h     s4,s4,s4
+.*:    49ffcffb                cv.sra.sc.h     t6,t6,t6
+.*:    4820707b                cv.sra.sci.b    zero,zero,4
+.*:    4820f0fb                cv.sra.sci.b    ra,ra,4
+.*:    4821717b                cv.sra.sci.b    sp,sp,4
+.*:    4824747b                cv.sra.sci.b    s0,s0,4
+.*:    482a7a7b                cv.sra.sci.b    s4,s4,4
+.*:    482ffffb                cv.sra.sci.b    t6,t6,4
+.*:    4803f37b                cv.sra.sci.b    t1,t2,0
+.*:    4a33f37b                cv.sra.sci.b    t1,t2,7
+.*:    4860607b                cv.sra.sci.h    zero,zero,12
+.*:    4860e0fb                cv.sra.sci.h    ra,ra,12
+.*:    4861617b                cv.sra.sci.h    sp,sp,12
+.*:    4864647b                cv.sra.sci.h    s0,s0,12
+.*:    486a6a7b                cv.sra.sci.h    s4,s4,12
+.*:    486feffb                cv.sra.sci.h    t6,t6,12
+.*:    4803e37b                cv.sra.sci.h    t1,t2,0
+.*:    4a73e37b                cv.sra.sci.h    t1,t2,15
+.*:    4000107b                cv.srl.b        zero,zero,zero
+.*:    401090fb                cv.srl.b        ra,ra,ra
+.*:    4021117b                cv.srl.b        sp,sp,sp
+.*:    4084147b                cv.srl.b        s0,s0,s0
+.*:    414a1a7b                cv.srl.b        s4,s4,s4
+.*:    41ff9ffb                cv.srl.b        t6,t6,t6
+.*:    4000007b                cv.srl.h        zero,zero,zero
+.*:    401080fb                cv.srl.h        ra,ra,ra
+.*:    4021017b                cv.srl.h        sp,sp,sp
+.*:    4084047b                cv.srl.h        s0,s0,s0
+.*:    414a0a7b                cv.srl.h        s4,s4,s4
+.*:    41ff8ffb                cv.srl.h        t6,t6,t6
+.*:    4000507b                cv.srl.sc.b     zero,zero,zero
+.*:    4010d0fb                cv.srl.sc.b     ra,ra,ra
+.*:    4021517b                cv.srl.sc.b     sp,sp,sp
+.*:    4084547b                cv.srl.sc.b     s0,s0,s0
+.*:    414a5a7b                cv.srl.sc.b     s4,s4,s4
+.*:    41ffdffb                cv.srl.sc.b     t6,t6,t6
+.*:    4000407b                cv.srl.sc.h     zero,zero,zero
+.*:    4010c0fb                cv.srl.sc.h     ra,ra,ra
+.*:    4021417b                cv.srl.sc.h     sp,sp,sp
+.*:    4084447b                cv.srl.sc.h     s0,s0,s0
+.*:    414a4a7b                cv.srl.sc.h     s4,s4,s4
+.*:    41ffcffb                cv.srl.sc.h     t6,t6,t6
+.*:    4020707b                cv.srl.sci.b    zero,zero,4
+.*:    4020f0fb                cv.srl.sci.b    ra,ra,4
+.*:    4021717b                cv.srl.sci.b    sp,sp,4
+.*:    4024747b                cv.srl.sci.b    s0,s0,4
+.*:    402a7a7b                cv.srl.sci.b    s4,s4,4
+.*:    402ffffb                cv.srl.sci.b    t6,t6,4
+.*:    4003f37b                cv.srl.sci.b    t1,t2,0
+.*:    4233f37b                cv.srl.sci.b    t1,t2,7
+.*:    4060607b                cv.srl.sci.h    zero,zero,12
+.*:    4060e0fb                cv.srl.sci.h    ra,ra,12
+.*:    4061617b                cv.srl.sci.h    sp,sp,12
+.*:    4064647b                cv.srl.sci.h    s0,s0,12
+.*:    406a6a7b                cv.srl.sci.h    s4,s4,12
+.*:    406feffb                cv.srl.sci.h    t6,t6,12
+.*:    4003e37b                cv.srl.sci.h    t1,t2,0
+.*:    4273e37b                cv.srl.sci.h    t1,t2,15
+.*:    0800107b                cv.sub.b        zero,zero,zero
+.*:    081090fb                cv.sub.b        ra,ra,ra
+.*:    0821117b                cv.sub.b        sp,sp,sp
+.*:    0884147b                cv.sub.b        s0,s0,s0
+.*:    094a1a7b                cv.sub.b        s4,s4,s4
+.*:    09ff9ffb                cv.sub.b        t6,t6,t6
+.*:    7400207b                cv.sub.div2     zero,zero,zero
+.*:    7410a0fb                cv.sub.div2     ra,ra,ra
+.*:    7421217b                cv.sub.div2     sp,sp,sp
+.*:    7484247b                cv.sub.div2     s0,s0,s0
+.*:    754a2a7b                cv.sub.div2     s4,s4,s4
+.*:    75ffaffb                cv.sub.div2     t6,t6,t6
+.*:    7400407b                cv.sub.div4     zero,zero,zero
+.*:    7410c0fb                cv.sub.div4     ra,ra,ra
+.*:    7421417b                cv.sub.div4     sp,sp,sp
+.*:    7484447b                cv.sub.div4     s0,s0,s0
+.*:    754a4a7b                cv.sub.div4     s4,s4,s4
+.*:    75ffcffb                cv.sub.div4     t6,t6,t6
+.*:    7400607b                cv.sub.div8     zero,zero,zero
+.*:    7410e0fb                cv.sub.div8     ra,ra,ra
+.*:    7421617b                cv.sub.div8     sp,sp,sp
+.*:    7484647b                cv.sub.div8     s0,s0,s0
+.*:    754a6a7b                cv.sub.div8     s4,s4,s4
+.*:    75ffeffb                cv.sub.div8     t6,t6,t6
+.*:    0800007b                cv.sub.h        zero,zero,zero
+.*:    081080fb                cv.sub.h        ra,ra,ra
+.*:    0821017b                cv.sub.h        sp,sp,sp
+.*:    0884047b                cv.sub.h        s0,s0,s0
+.*:    094a0a7b                cv.sub.h        s4,s4,s4
+.*:    09ff8ffb                cv.sub.h        t6,t6,t6
+.*:    6400207b                cv.subrotmj.div2        zero,zero,zero
+.*:    6410a0fb                cv.subrotmj.div2        ra,ra,ra
+.*:    6421217b                cv.subrotmj.div2        sp,sp,sp
+.*:    6484247b                cv.subrotmj.div2        s0,s0,s0
+.*:    654a2a7b                cv.subrotmj.div2        s4,s4,s4
+.*:    65ffaffb                cv.subrotmj.div2        t6,t6,t6
+.*:    6400407b                cv.subrotmj.div4        zero,zero,zero
+.*:    6410c0fb                cv.subrotmj.div4        ra,ra,ra
+.*:    6421417b                cv.subrotmj.div4        sp,sp,sp
+.*:    6484447b                cv.subrotmj.div4        s0,s0,s0
+.*:    654a4a7b                cv.subrotmj.div4        s4,s4,s4
+.*:    65ffcffb                cv.subrotmj.div4        t6,t6,t6
+.*:    6400607b                cv.subrotmj.div8        zero,zero,zero
+.*:    6410e0fb                cv.subrotmj.div8        ra,ra,ra
+.*:    6421617b                cv.subrotmj.div8        sp,sp,sp
+.*:    6484647b                cv.subrotmj.div8        s0,s0,s0
+.*:    654a6a7b                cv.subrotmj.div8        s4,s4,s4
+.*:    65ffeffb                cv.subrotmj.div8        t6,t6,t6
+.*:    6400007b                cv.subrotmj     zero,zero,zero
+.*:    641080fb                cv.subrotmj     ra,ra,ra
+.*:    6421017b                cv.subrotmj     sp,sp,sp
+.*:    6484047b                cv.subrotmj     s0,s0,s0
+.*:    654a0a7b                cv.subrotmj     s4,s4,s4
+.*:    65ff8ffb                cv.subrotmj     t6,t6,t6
+.*:    0800507b                cv.sub.sc.b     zero,zero,zero
+.*:    0810d0fb                cv.sub.sc.b     ra,ra,ra
+.*:    0821517b                cv.sub.sc.b     sp,sp,sp
+.*:    0884547b                cv.sub.sc.b     s0,s0,s0
+.*:    094a5a7b                cv.sub.sc.b     s4,s4,s4
+.*:    09ffdffb                cv.sub.sc.b     t6,t6,t6
+.*:    0800407b                cv.sub.sc.h     zero,zero,zero
+.*:    0810c0fb                cv.sub.sc.h     ra,ra,ra
+.*:    0821417b                cv.sub.sc.h     sp,sp,sp
+.*:    0884447b                cv.sub.sc.h     s0,s0,s0
+.*:    094a4a7b                cv.sub.sc.h     s4,s4,s4
+.*:    09ffcffb                cv.sub.sc.h     t6,t6,t6
+.*:    08a0707b                cv.sub.sci.b    zero,zero,20
+.*:    08a0f0fb                cv.sub.sci.b    ra,ra,20
+.*:    08a1717b                cv.sub.sci.b    sp,sp,20
+.*:    08a4747b                cv.sub.sci.b    s0,s0,20
+.*:    08aa7a7b                cv.sub.sci.b    s4,s4,20
+.*:    08affffb                cv.sub.sci.b    t6,t6,20
+.*:    0903f37b                cv.sub.sci.b    t1,t2,-32
+.*:    0803f37b                cv.sub.sci.b    t1,t2,0
+.*:    0af3f37b                cv.sub.sci.b    t1,t2,31
+.*:    08a0607b                cv.sub.sci.h    zero,zero,20
+.*:    08a0e0fb                cv.sub.sci.h    ra,ra,20
+.*:    08a1617b                cv.sub.sci.h    sp,sp,20
+.*:    08a4647b                cv.sub.sci.h    s0,s0,20
+.*:    08aa6a7b                cv.sub.sci.h    s4,s4,20
+.*:    08afeffb                cv.sub.sci.h    t6,t6,20
+.*:    0903e37b                cv.sub.sci.h    t1,t2,-32
+.*:    0803e37b                cv.sub.sci.h    t1,t2,0
+.*:    0af3e37b                cv.sub.sci.h    t1,t2,31
+.*:    6000107b                cv.xor.b        zero,zero,zero
+.*:    601090fb                cv.xor.b        ra,ra,ra
+.*:    6021117b                cv.xor.b        sp,sp,sp
+.*:    6084147b                cv.xor.b        s0,s0,s0
+.*:    614a1a7b                cv.xor.b        s4,s4,s4
+.*:    61ff9ffb                cv.xor.b        t6,t6,t6
+.*:    6000007b                cv.xor.h        zero,zero,zero
+.*:    601080fb                cv.xor.h        ra,ra,ra
+.*:    6021017b                cv.xor.h        sp,sp,sp
+.*:    6084047b                cv.xor.h        s0,s0,s0
+.*:    614a0a7b                cv.xor.h        s4,s4,s4
+.*:    61ff8ffb                cv.xor.h        t6,t6,t6
+.*:    6000507b                cv.xor.sc.b     zero,zero,zero
+.*:    6010d0fb                cv.xor.sc.b     ra,ra,ra
+.*:    6021517b                cv.xor.sc.b     sp,sp,sp
+.*:    6084547b                cv.xor.sc.b     s0,s0,s0
+.*:    614a5a7b                cv.xor.sc.b     s4,s4,s4
+.*:    61ffdffb                cv.xor.sc.b     t6,t6,t6
+.*:    6000407b                cv.xor.sc.h     zero,zero,zero
+.*:    6010c0fb                cv.xor.sc.h     ra,ra,ra
+.*:    6021417b                cv.xor.sc.h     sp,sp,sp
+.*:    6084447b                cv.xor.sc.h     s0,s0,s0
+.*:    614a4a7b                cv.xor.sc.h     s4,s4,s4
+.*:    61ffcffb                cv.xor.sc.h     t6,t6,t6
+.*:    60a0707b                cv.xor.sci.b    zero,zero,20
+.*:    60a0f0fb                cv.xor.sci.b    ra,ra,20
+.*:    60a1717b                cv.xor.sci.b    sp,sp,20
+.*:    60a4747b                cv.xor.sci.b    s0,s0,20
+.*:    60aa7a7b                cv.xor.sci.b    s4,s4,20
+.*:    60affffb                cv.xor.sci.b    t6,t6,20
+.*:    6103f37b                cv.xor.sci.b    t1,t2,-32
+.*:    6003f37b                cv.xor.sci.b    t1,t2,0
+.*:    62f3f37b                cv.xor.sci.b    t1,t2,31
+.*:    60a0607b                cv.xor.sci.h    zero,zero,20
+.*:    60a0e0fb                cv.xor.sci.h    ra,ra,20
+.*:    60a1617b                cv.xor.sci.h    sp,sp,20
+.*:    60a4647b                cv.xor.sci.h    s0,s0,20
+.*:    60aa6a7b                cv.xor.sci.h    s4,s4,20
+.*:    60afeffb                cv.xor.sci.h    t6,t6,20
+.*:    6103e37b                cv.xor.sci.h    t1,t2,-32
+.*:    6003e37b                cv.xor.sci.h    t1,t2,0
+.*:    62f3e37b                cv.xor.sci.h    t1,t2,31
diff --git a/gas/testsuite/gas/riscv/x-cv-simd.s b/gas/testsuite/gas/riscv/x-cv-simd.s
new file mode 100644 (file)
index 0000000..d71200b
--- /dev/null
@@ -0,0 +1,1498 @@
+    cv.abs.b x0, x0
+    cv.abs.b x1, x1
+    cv.abs.b x2, x2
+    cv.abs.b x8, x8
+    cv.abs.b x20, x20
+    cv.abs.b x31, x31
+    cv.abs.h x0, x0
+    cv.abs.h x1, x1
+    cv.abs.h x2, x2
+    cv.abs.h x8, x8
+    cv.abs.h x20, x20
+    cv.abs.h x31, x31
+    cv.add.b x0, x0, x0
+    cv.add.b x1, x1, x1
+    cv.add.b x2, x2, x2
+    cv.add.b x8, x8, x8
+    cv.add.b x20, x20, x20
+    cv.add.b x31, x31, x31
+    cv.add.div2 x0, x0, x0
+    cv.add.div2 x1, x1, x1
+    cv.add.div2 x2, x2, x2
+    cv.add.div2 x8, x8, x8
+    cv.add.div2 x20, x20, x20
+    cv.add.div2 x31, x31, x31
+    cv.add.div4 x0, x0, x0
+    cv.add.div4 x1, x1, x1
+    cv.add.div4 x2, x2, x2
+    cv.add.div4 x8, x8, x8
+    cv.add.div4 x20, x20, x20
+    cv.add.div4 x31, x31, x31
+    cv.add.div8 x0, x0, x0
+    cv.add.div8 x1, x1, x1
+    cv.add.div8 x2, x2, x2
+    cv.add.div8 x8, x8, x8
+    cv.add.div8 x20, x20, x20
+    cv.add.div8 x31, x31, x31
+    cv.add.h x0, x0, x0
+    cv.add.h x1, x1, x1
+    cv.add.h x2, x2, x2
+    cv.add.h x8, x8, x8
+    cv.add.h x20, x20, x20
+    cv.add.h x31, x31, x31
+    cv.add.sc.b x0, x0, x0
+    cv.add.sc.b x1, x1, x1
+    cv.add.sc.b x2, x2, x2
+    cv.add.sc.b x8, x8, x8
+    cv.add.sc.b x20, x20, x20
+    cv.add.sc.b x31, x31, x31
+    cv.add.sc.h x0, x0, x0
+    cv.add.sc.h x1, x1, x1
+    cv.add.sc.h x2, x2, x2
+    cv.add.sc.h x8, x8, x8
+    cv.add.sc.h x20, x20, x20
+    cv.add.sc.h x31, x31, x31
+    cv.add.sci.b x0, x0, 20
+    cv.add.sci.b x1, x1, 20
+    cv.add.sci.b x2, x2, 20
+    cv.add.sci.b x8, x8, 20
+    cv.add.sci.b x20, x20, 20
+    cv.add.sci.b x31, x31, 20
+    cv.add.sci.b x6, x7, -32
+    cv.add.sci.b x6, x7, 0
+    cv.add.sci.b x6, x7, 31
+    cv.add.sci.h x0, x0, 20
+    cv.add.sci.h x1, x1, 20
+    cv.add.sci.h x2, x2, 20
+    cv.add.sci.h x8, x8, 20
+    cv.add.sci.h x20, x20, 20
+    cv.add.sci.h x31, x31, 20
+    cv.add.sci.h x6, x7, -32
+    cv.add.sci.h x6, x7, 0
+    cv.add.sci.h x6, x7, 31
+    cv.and.b x0, x0, x0
+    cv.and.b x1, x1, x1
+    cv.and.b x2, x2, x2
+    cv.and.b x8, x8, x8
+    cv.and.b x20, x20, x20
+    cv.and.b x31, x31, x31
+    cv.and.h x0, x0, x0
+    cv.and.h x1, x1, x1
+    cv.and.h x2, x2, x2
+    cv.and.h x8, x8, x8
+    cv.and.h x20, x20, x20
+    cv.and.h x31, x31, x31
+    cv.and.sc.b x0, x0, x0
+    cv.and.sc.b x1, x1, x1
+    cv.and.sc.b x2, x2, x2
+    cv.and.sc.b x8, x8, x8
+    cv.and.sc.b x20, x20, x20
+    cv.and.sc.b x31, x31, x31
+    cv.and.sc.h x0, x0, x0
+    cv.and.sc.h x1, x1, x1
+    cv.and.sc.h x2, x2, x2
+    cv.and.sc.h x8, x8, x8
+    cv.and.sc.h x20, x20, x20
+    cv.and.sc.h x31, x31, x31
+    cv.and.sci.b x0, x0, 20
+    cv.and.sci.b x1, x1, 20
+    cv.and.sci.b x2, x2, 20
+    cv.and.sci.b x8, x8, 20
+    cv.and.sci.b x20, x20, 20
+    cv.and.sci.b x31, x31, 20
+    cv.and.sci.b x6, x7, -32
+    cv.and.sci.b x6, x7, 0
+    cv.and.sci.b x6, x7, 31
+    cv.and.sci.h x0, x0, 20
+    cv.and.sci.h x1, x1, 20
+    cv.and.sci.h x2, x2, 20
+    cv.and.sci.h x8, x8, 20
+    cv.and.sci.h x20, x20, 20
+    cv.and.sci.h x31, x31, 20
+    cv.and.sci.h x6, x7, -32
+    cv.and.sci.h x6, x7, 0
+    cv.and.sci.h x6, x7, 31
+    cv.avg.b x0, x0, x0
+    cv.avg.b x1, x1, x1
+    cv.avg.b x2, x2, x2
+    cv.avg.b x8, x8, x8
+    cv.avg.b x20, x20, x20
+    cv.avg.b x31, x31, x31
+    cv.avg.h x0, x0, x0
+    cv.avg.h x1, x1, x1
+    cv.avg.h x2, x2, x2
+    cv.avg.h x8, x8, x8
+    cv.avg.h x20, x20, x20
+    cv.avg.h x31, x31, x31
+    cv.avg.sc.b x0, x0, x0
+    cv.avg.sc.b x1, x1, x1
+    cv.avg.sc.b x2, x2, x2
+    cv.avg.sc.b x8, x8, x8
+    cv.avg.sc.b x20, x20, x20
+    cv.avg.sc.b x31, x31, x31
+    cv.avg.sc.h x0, x0, x0
+    cv.avg.sc.h x1, x1, x1
+    cv.avg.sc.h x2, x2, x2
+    cv.avg.sc.h x8, x8, x8
+    cv.avg.sc.h x20, x20, x20
+    cv.avg.sc.h x31, x31, x31
+    cv.avg.sci.b x0, x0, 20
+    cv.avg.sci.b x1, x1, 20
+    cv.avg.sci.b x2, x2, 20
+    cv.avg.sci.b x8, x8, 20
+    cv.avg.sci.b x20, x20, 20
+    cv.avg.sci.b x31, x31, 20
+    cv.avg.sci.b x6, x7, -32
+    cv.avg.sci.b x6, x7, 0
+    cv.avg.sci.b x6, x7, 31
+    cv.avg.sci.h x0, x0, 20
+    cv.avg.sci.h x1, x1, 20
+    cv.avg.sci.h x2, x2, 20
+    cv.avg.sci.h x8, x8, 20
+    cv.avg.sci.h x20, x20, 20
+    cv.avg.sci.h x31, x31, 20
+    cv.avg.sci.h x6, x7, -32
+    cv.avg.sci.h x6, x7, 0
+    cv.avg.sci.h x6, x7, 31
+    cv.avgu.b x0, x0, x0
+    cv.avgu.b x1, x1, x1
+    cv.avgu.b x2, x2, x2
+    cv.avgu.b x8, x8, x8
+    cv.avgu.b x20, x20, x20
+    cv.avgu.b x31, x31, x31
+    cv.avgu.h x0, x0, x0
+    cv.avgu.h x1, x1, x1
+    cv.avgu.h x2, x2, x2
+    cv.avgu.h x8, x8, x8
+    cv.avgu.h x20, x20, x20
+    cv.avgu.h x31, x31, x31
+    cv.avgu.sc.b x0, x0, x0
+    cv.avgu.sc.b x1, x1, x1
+    cv.avgu.sc.b x2, x2, x2
+    cv.avgu.sc.b x8, x8, x8
+    cv.avgu.sc.b x20, x20, x20
+    cv.avgu.sc.b x31, x31, x31
+    cv.avgu.sc.h x0, x0, x0
+    cv.avgu.sc.h x1, x1, x1
+    cv.avgu.sc.h x2, x2, x2
+    cv.avgu.sc.h x8, x8, x8
+    cv.avgu.sc.h x20, x20, x20
+    cv.avgu.sc.h x31, x31, x31
+    cv.avgu.sci.b x0, x0, 20
+    cv.avgu.sci.b x1, x1, 20
+    cv.avgu.sci.b x2, x2, 20
+    cv.avgu.sci.b x8, x8, 20
+    cv.avgu.sci.b x20, x20, 20
+    cv.avgu.sci.b x31, x31, 20
+    cv.avgu.sci.b x6, x7, 0
+    cv.avgu.sci.b x6, x7, 63
+    cv.avgu.sci.h x0, x0, 20
+    cv.avgu.sci.h x1, x1, 20
+    cv.avgu.sci.h x2, x2, 20
+    cv.avgu.sci.h x8, x8, 20
+    cv.avgu.sci.h x20, x20, 20
+    cv.avgu.sci.h x31, x31, 20
+    cv.avgu.sci.h x6, x7, 0
+    cv.avgu.sci.h x6, x7, 63
+    cv.cmpeq.b x0, x0, x0
+    cv.cmpeq.b x1, x1, x1
+    cv.cmpeq.b x2, x2, x2
+    cv.cmpeq.b x8, x8, x8
+    cv.cmpeq.b x20, x20, x20
+    cv.cmpeq.b x31, x31, x31
+    cv.cmpeq.h x0, x0, x0
+    cv.cmpeq.h x1, x1, x1
+    cv.cmpeq.h x2, x2, x2
+    cv.cmpeq.h x8, x8, x8
+    cv.cmpeq.h x20, x20, x20
+    cv.cmpeq.h x31, x31, x31
+    cv.cmpeq.sc.b x0, x0, x0
+    cv.cmpeq.sc.b x1, x1, x1
+    cv.cmpeq.sc.b x2, x2, x2
+    cv.cmpeq.sc.b x8, x8, x8
+    cv.cmpeq.sc.b x20, x20, x20
+    cv.cmpeq.sc.b x31, x31, x31
+    cv.cmpeq.sc.h x0, x0, x0
+    cv.cmpeq.sc.h x1, x1, x1
+    cv.cmpeq.sc.h x2, x2, x2
+    cv.cmpeq.sc.h x8, x8, x8
+    cv.cmpeq.sc.h x20, x20, x20
+    cv.cmpeq.sc.h x31, x31, x31
+    cv.cmpeq.sci.b x0, x0, 20
+    cv.cmpeq.sci.b x1, x1, 20
+    cv.cmpeq.sci.b x2, x2, 20
+    cv.cmpeq.sci.b x8, x8, 20
+    cv.cmpeq.sci.b x20, x20, 20
+    cv.cmpeq.sci.b x31, x31, 20
+    cv.cmpeq.sci.b x6, x7, -32
+    cv.cmpeq.sci.b x6, x7, 0
+    cv.cmpeq.sci.b x6, x7, 31
+    cv.cmpeq.sci.h x0, x0, 20
+    cv.cmpeq.sci.h x1, x1, 20
+    cv.cmpeq.sci.h x2, x2, 20
+    cv.cmpeq.sci.h x8, x8, 20
+    cv.cmpeq.sci.h x20, x20, 20
+    cv.cmpeq.sci.h x31, x31, 20
+    cv.cmpeq.sci.h x6, x7, -32
+    cv.cmpeq.sci.h x6, x7, 0
+    cv.cmpeq.sci.h x6, x7, 31
+    cv.cmpge.b x0, x0, x0
+    cv.cmpge.b x1, x1, x1
+    cv.cmpge.b x2, x2, x2
+    cv.cmpge.b x8, x8, x8
+    cv.cmpge.b x20, x20, x20
+    cv.cmpge.b x31, x31, x31
+    cv.cmpge.h x0, x0, x0
+    cv.cmpge.h x1, x1, x1
+    cv.cmpge.h x2, x2, x2
+    cv.cmpge.h x8, x8, x8
+    cv.cmpge.h x20, x20, x20
+    cv.cmpge.h x31, x31, x31
+    cv.cmpge.sc.b x0, x0, x0
+    cv.cmpge.sc.b x1, x1, x1
+    cv.cmpge.sc.b x2, x2, x2
+    cv.cmpge.sc.b x8, x8, x8
+    cv.cmpge.sc.b x20, x20, x20
+    cv.cmpge.sc.b x31, x31, x31
+    cv.cmpge.sc.h x0, x0, x0
+    cv.cmpge.sc.h x1, x1, x1
+    cv.cmpge.sc.h x2, x2, x2
+    cv.cmpge.sc.h x8, x8, x8
+    cv.cmpge.sc.h x20, x20, x20
+    cv.cmpge.sc.h x31, x31, x31
+    cv.cmpge.sci.b x0, x0, 20
+    cv.cmpge.sci.b x1, x1, 20
+    cv.cmpge.sci.b x2, x2, 20
+    cv.cmpge.sci.b x8, x8, 20
+    cv.cmpge.sci.b x20, x20, 20
+    cv.cmpge.sci.b x31, x31, 20
+    cv.cmpge.sci.b x6, x7, -32
+    cv.cmpge.sci.b x6, x7, 0
+    cv.cmpge.sci.b x6, x7, 31
+    cv.cmpge.sci.h x0, x0, 20
+    cv.cmpge.sci.h x1, x1, 20
+    cv.cmpge.sci.h x2, x2, 20
+    cv.cmpge.sci.h x8, x8, 20
+    cv.cmpge.sci.h x20, x20, 20
+    cv.cmpge.sci.h x31, x31, 20
+    cv.cmpge.sci.h x6, x7, -32
+    cv.cmpge.sci.h x6, x7, 0
+    cv.cmpge.sci.h x6, x7, 31
+    cv.cmpgeu.b x0, x0, x0
+    cv.cmpgeu.b x1, x1, x1
+    cv.cmpgeu.b x2, x2, x2
+    cv.cmpgeu.b x8, x8, x8
+    cv.cmpgeu.b x20, x20, x20
+    cv.cmpgeu.b x31, x31, x31
+    cv.cmpgeu.h x0, x0, x0
+    cv.cmpgeu.h x1, x1, x1
+    cv.cmpgeu.h x2, x2, x2
+    cv.cmpgeu.h x8, x8, x8
+    cv.cmpgeu.h x20, x20, x20
+    cv.cmpgeu.h x31, x31, x31
+    cv.cmpgeu.sc.b x0, x0, x0
+    cv.cmpgeu.sc.b x1, x1, x1
+    cv.cmpgeu.sc.b x2, x2, x2
+    cv.cmpgeu.sc.b x8, x8, x8
+    cv.cmpgeu.sc.b x20, x20, x20
+    cv.cmpgeu.sc.b x31, x31, x31
+    cv.cmpgeu.sc.h x0, x0, x0
+    cv.cmpgeu.sc.h x1, x1, x1
+    cv.cmpgeu.sc.h x2, x2, x2
+    cv.cmpgeu.sc.h x8, x8, x8
+    cv.cmpgeu.sc.h x20, x20, x20
+    cv.cmpgeu.sc.h x31, x31, x31
+    cv.cmpgeu.sci.b x0, x0, 20
+    cv.cmpgeu.sci.b x1, x1, 20
+    cv.cmpgeu.sci.b x2, x2, 20
+    cv.cmpgeu.sci.b x8, x8, 20
+    cv.cmpgeu.sci.b x20, x20, 20
+    cv.cmpgeu.sci.b x31, x31, 20
+    cv.cmpgeu.sci.b x6, x7, 0
+    cv.cmpgeu.sci.b x6, x7, 63
+    cv.cmpgeu.sci.h x0, x0, 20
+    cv.cmpgeu.sci.h x1, x1, 20
+    cv.cmpgeu.sci.h x2, x2, 20
+    cv.cmpgeu.sci.h x8, x8, 20
+    cv.cmpgeu.sci.h x20, x20, 20
+    cv.cmpgeu.sci.h x31, x31, 20
+    cv.cmpgeu.sci.h x6, x7, 0
+    cv.cmpgeu.sci.h x6, x7, 63
+    cv.cmpgt.b x0, x0, x0
+    cv.cmpgt.b x1, x1, x1
+    cv.cmpgt.b x2, x2, x2
+    cv.cmpgt.b x8, x8, x8
+    cv.cmpgt.b x20, x20, x20
+    cv.cmpgt.b x31, x31, x31
+    cv.cmpgt.h x0, x0, x0
+    cv.cmpgt.h x1, x1, x1
+    cv.cmpgt.h x2, x2, x2
+    cv.cmpgt.h x8, x8, x8
+    cv.cmpgt.h x20, x20, x20
+    cv.cmpgt.h x31, x31, x31
+    cv.cmpgt.sc.b x0, x0, x0
+    cv.cmpgt.sc.b x1, x1, x1
+    cv.cmpgt.sc.b x2, x2, x2
+    cv.cmpgt.sc.b x8, x8, x8
+    cv.cmpgt.sc.b x20, x20, x20
+    cv.cmpgt.sc.b x31, x31, x31
+    cv.cmpgt.sc.h x0, x0, x0
+    cv.cmpgt.sc.h x1, x1, x1
+    cv.cmpgt.sc.h x2, x2, x2
+    cv.cmpgt.sc.h x8, x8, x8
+    cv.cmpgt.sc.h x20, x20, x20
+    cv.cmpgt.sc.h x31, x31, x31
+    cv.cmpgt.sci.b x0, x0, 20
+    cv.cmpgt.sci.b x1, x1, 20
+    cv.cmpgt.sci.b x2, x2, 20
+    cv.cmpgt.sci.b x8, x8, 20
+    cv.cmpgt.sci.b x20, x20, 20
+    cv.cmpgt.sci.b x31, x31, 20
+    cv.cmpgt.sci.b x6, x7, -32
+    cv.cmpgt.sci.b x6, x7, 0
+    cv.cmpgt.sci.b x6, x7, 31
+    cv.cmpgt.sci.h x0, x0, 20
+    cv.cmpgt.sci.h x1, x1, 20
+    cv.cmpgt.sci.h x2, x2, 20
+    cv.cmpgt.sci.h x8, x8, 20
+    cv.cmpgt.sci.h x20, x20, 20
+    cv.cmpgt.sci.h x31, x31, 20
+    cv.cmpgt.sci.h x6, x7, -32
+    cv.cmpgt.sci.h x6, x7, 0
+    cv.cmpgt.sci.h x6, x7, 31
+    cv.cmpgtu.b x0, x0, x0
+    cv.cmpgtu.b x1, x1, x1
+    cv.cmpgtu.b x2, x2, x2
+    cv.cmpgtu.b x8, x8, x8
+    cv.cmpgtu.b x20, x20, x20
+    cv.cmpgtu.b x31, x31, x31
+    cv.cmpgtu.h x0, x0, x0
+    cv.cmpgtu.h x1, x1, x1
+    cv.cmpgtu.h x2, x2, x2
+    cv.cmpgtu.h x8, x8, x8
+    cv.cmpgtu.h x20, x20, x20
+    cv.cmpgtu.h x31, x31, x31
+    cv.cmpgtu.sc.b x0, x0, x0
+    cv.cmpgtu.sc.b x1, x1, x1
+    cv.cmpgtu.sc.b x2, x2, x2
+    cv.cmpgtu.sc.b x8, x8, x8
+    cv.cmpgtu.sc.b x20, x20, x20
+    cv.cmpgtu.sc.b x31, x31, x31
+    cv.cmpgtu.sc.h x0, x0, x0
+    cv.cmpgtu.sc.h x1, x1, x1
+    cv.cmpgtu.sc.h x2, x2, x2
+    cv.cmpgtu.sc.h x8, x8, x8
+    cv.cmpgtu.sc.h x20, x20, x20
+    cv.cmpgtu.sc.h x31, x31, x31
+    cv.cmpgtu.sci.b x0, x0, 20
+    cv.cmpgtu.sci.b x1, x1, 20
+    cv.cmpgtu.sci.b x2, x2, 20
+    cv.cmpgtu.sci.b x8, x8, 20
+    cv.cmpgtu.sci.b x20, x20, 20
+    cv.cmpgtu.sci.b x31, x31, 20
+    cv.cmpgtu.sci.b x6, x7, 0
+    cv.cmpgtu.sci.b x6, x7, 63
+    cv.cmpgtu.sci.h x0, x0, 20
+    cv.cmpgtu.sci.h x1, x1, 20
+    cv.cmpgtu.sci.h x2, x2, 20
+    cv.cmpgtu.sci.h x8, x8, 20
+    cv.cmpgtu.sci.h x20, x20, 20
+    cv.cmpgtu.sci.h x31, x31, 20
+    cv.cmpgtu.sci.h x6, x7, 0
+    cv.cmpgtu.sci.h x6, x7, 63
+    cv.cmple.b x0, x0, x0
+    cv.cmple.b x1, x1, x1
+    cv.cmple.b x2, x2, x2
+    cv.cmple.b x8, x8, x8
+    cv.cmple.b x20, x20, x20
+    cv.cmple.b x31, x31, x31
+    cv.cmple.h x0, x0, x0
+    cv.cmple.h x1, x1, x1
+    cv.cmple.h x2, x2, x2
+    cv.cmple.h x8, x8, x8
+    cv.cmple.h x20, x20, x20
+    cv.cmple.h x31, x31, x31
+    cv.cmple.sc.b x0, x0, x0
+    cv.cmple.sc.b x1, x1, x1
+    cv.cmple.sc.b x2, x2, x2
+    cv.cmple.sc.b x8, x8, x8
+    cv.cmple.sc.b x20, x20, x20
+    cv.cmple.sc.b x31, x31, x31
+    cv.cmple.sc.h x0, x0, x0
+    cv.cmple.sc.h x1, x1, x1
+    cv.cmple.sc.h x2, x2, x2
+    cv.cmple.sc.h x8, x8, x8
+    cv.cmple.sc.h x20, x20, x20
+    cv.cmple.sc.h x31, x31, x31
+    cv.cmple.sci.b x0, x0, 20
+    cv.cmple.sci.b x1, x1, 20
+    cv.cmple.sci.b x2, x2, 20
+    cv.cmple.sci.b x8, x8, 20
+    cv.cmple.sci.b x20, x20, 20
+    cv.cmple.sci.b x31, x31, 20
+    cv.cmple.sci.b x6, x7, -32
+    cv.cmple.sci.b x6, x7, 0
+    cv.cmple.sci.b x6, x7, 31
+    cv.cmple.sci.h x0, x0, 20
+    cv.cmple.sci.h x1, x1, 20
+    cv.cmple.sci.h x2, x2, 20
+    cv.cmple.sci.h x8, x8, 20
+    cv.cmple.sci.h x20, x20, 20
+    cv.cmple.sci.h x31, x31, 20
+    cv.cmple.sci.h x6, x7, -32
+    cv.cmple.sci.h x6, x7, 0
+    cv.cmple.sci.h x6, x7, 31
+    cv.cmpleu.b x0, x0, x0
+    cv.cmpleu.b x1, x1, x1
+    cv.cmpleu.b x2, x2, x2
+    cv.cmpleu.b x8, x8, x8
+    cv.cmpleu.b x20, x20, x20
+    cv.cmpleu.b x31, x31, x31
+    cv.cmpleu.h x0, x0, x0
+    cv.cmpleu.h x1, x1, x1
+    cv.cmpleu.h x2, x2, x2
+    cv.cmpleu.h x8, x8, x8
+    cv.cmpleu.h x20, x20, x20
+    cv.cmpleu.h x31, x31, x31
+    cv.cmpleu.sc.b x0, x0, x0
+    cv.cmpleu.sc.b x1, x1, x1
+    cv.cmpleu.sc.b x2, x2, x2
+    cv.cmpleu.sc.b x8, x8, x8
+    cv.cmpleu.sc.b x20, x20, x20
+    cv.cmpleu.sc.b x31, x31, x31
+    cv.cmpleu.sc.h x0, x0, x0
+    cv.cmpleu.sc.h x1, x1, x1
+    cv.cmpleu.sc.h x2, x2, x2
+    cv.cmpleu.sc.h x8, x8, x8
+    cv.cmpleu.sc.h x20, x20, x20
+    cv.cmpleu.sc.h x31, x31, x31
+    cv.cmpleu.sci.b x0, x0, 20
+    cv.cmpleu.sci.b x1, x1, 20
+    cv.cmpleu.sci.b x2, x2, 20
+    cv.cmpleu.sci.b x8, x8, 20
+    cv.cmpleu.sci.b x20, x20, 20
+    cv.cmpleu.sci.b x31, x31, 20
+    cv.cmpleu.sci.b x6, x7, 0
+    cv.cmpleu.sci.b x6, x7, 63
+    cv.cmpleu.sci.h x0, x0, 20
+    cv.cmpleu.sci.h x1, x1, 20
+    cv.cmpleu.sci.h x2, x2, 20
+    cv.cmpleu.sci.h x8, x8, 20
+    cv.cmpleu.sci.h x20, x20, 20
+    cv.cmpleu.sci.h x31, x31, 20
+    cv.cmpleu.sci.h x6, x7, 0
+    cv.cmpleu.sci.h x6, x7, 63
+    cv.cmplt.b x0, x0, x0
+    cv.cmplt.b x1, x1, x1
+    cv.cmplt.b x2, x2, x2
+    cv.cmplt.b x8, x8, x8
+    cv.cmplt.b x20, x20, x20
+    cv.cmplt.b x31, x31, x31
+    cv.cmplt.h x0, x0, x0
+    cv.cmplt.h x1, x1, x1
+    cv.cmplt.h x2, x2, x2
+    cv.cmplt.h x8, x8, x8
+    cv.cmplt.h x20, x20, x20
+    cv.cmplt.h x31, x31, x31
+    cv.cmplt.sc.b x0, x0, x0
+    cv.cmplt.sc.b x1, x1, x1
+    cv.cmplt.sc.b x2, x2, x2
+    cv.cmplt.sc.b x8, x8, x8
+    cv.cmplt.sc.b x20, x20, x20
+    cv.cmplt.sc.b x31, x31, x31
+    cv.cmplt.sc.h x0, x0, x0
+    cv.cmplt.sc.h x1, x1, x1
+    cv.cmplt.sc.h x2, x2, x2
+    cv.cmplt.sc.h x8, x8, x8
+    cv.cmplt.sc.h x20, x20, x20
+    cv.cmplt.sc.h x31, x31, x31
+    cv.cmplt.sci.b x0, x0, 20
+    cv.cmplt.sci.b x1, x1, 20
+    cv.cmplt.sci.b x2, x2, 20
+    cv.cmplt.sci.b x8, x8, 20
+    cv.cmplt.sci.b x20, x20, 20
+    cv.cmplt.sci.b x31, x31, 20
+    cv.cmplt.sci.b x6, x7, -32
+    cv.cmplt.sci.b x6, x7, 0
+    cv.cmplt.sci.b x6, x7, 31
+    cv.cmplt.sci.h x0, x0, 20
+    cv.cmplt.sci.h x1, x1, 20
+    cv.cmplt.sci.h x2, x2, 20
+    cv.cmplt.sci.h x8, x8, 20
+    cv.cmplt.sci.h x20, x20, 20
+    cv.cmplt.sci.h x31, x31, 20
+    cv.cmplt.sci.h x6, x7, -32
+    cv.cmplt.sci.h x6, x7, 0
+    cv.cmplt.sci.h x6, x7, 31
+    cv.cmpltu.b x0, x0, x0
+    cv.cmpltu.b x1, x1, x1
+    cv.cmpltu.b x2, x2, x2
+    cv.cmpltu.b x8, x8, x8
+    cv.cmpltu.b x20, x20, x20
+    cv.cmpltu.b x31, x31, x31
+    cv.cmpltu.h x0, x0, x0
+    cv.cmpltu.h x1, x1, x1
+    cv.cmpltu.h x2, x2, x2
+    cv.cmpltu.h x8, x8, x8
+    cv.cmpltu.h x20, x20, x20
+    cv.cmpltu.h x31, x31, x31
+    cv.cmpltu.sc.b x0, x0, x0
+    cv.cmpltu.sc.b x1, x1, x1
+    cv.cmpltu.sc.b x2, x2, x2
+    cv.cmpltu.sc.b x8, x8, x8
+    cv.cmpltu.sc.b x20, x20, x20
+    cv.cmpltu.sc.b x31, x31, x31
+    cv.cmpltu.sc.h x0, x0, x0
+    cv.cmpltu.sc.h x1, x1, x1
+    cv.cmpltu.sc.h x2, x2, x2
+    cv.cmpltu.sc.h x8, x8, x8
+    cv.cmpltu.sc.h x20, x20, x20
+    cv.cmpltu.sc.h x31, x31, x31
+    cv.cmpltu.sci.b x0, x0, 20
+    cv.cmpltu.sci.b x1, x1, 20
+    cv.cmpltu.sci.b x2, x2, 20
+    cv.cmpltu.sci.b x8, x8, 20
+    cv.cmpltu.sci.b x20, x20, 20
+    cv.cmpltu.sci.b x31, x31, 20
+    cv.cmpltu.sci.b x6, x7, 0
+    cv.cmpltu.sci.b x6, x7, 63
+    cv.cmpltu.sci.h x0, x0, 20
+    cv.cmpltu.sci.h x1, x1, 20
+    cv.cmpltu.sci.h x2, x2, 20
+    cv.cmpltu.sci.h x8, x8, 20
+    cv.cmpltu.sci.h x20, x20, 20
+    cv.cmpltu.sci.h x31, x31, 20
+    cv.cmpltu.sci.h x6, x7, 0
+    cv.cmpltu.sci.h x6, x7, 63
+    cv.cmpne.b x0, x0, x0
+    cv.cmpne.b x1, x1, x1
+    cv.cmpne.b x2, x2, x2
+    cv.cmpne.b x8, x8, x8
+    cv.cmpne.b x20, x20, x20
+    cv.cmpne.b x31, x31, x31
+    cv.cmpne.h x0, x0, x0
+    cv.cmpne.h x1, x1, x1
+    cv.cmpne.h x2, x2, x2
+    cv.cmpne.h x8, x8, x8
+    cv.cmpne.h x20, x20, x20
+    cv.cmpne.h x31, x31, x31
+    cv.cmpne.sc.b x0, x0, x0
+    cv.cmpne.sc.b x1, x1, x1
+    cv.cmpne.sc.b x2, x2, x2
+    cv.cmpne.sc.b x8, x8, x8
+    cv.cmpne.sc.b x20, x20, x20
+    cv.cmpne.sc.b x31, x31, x31
+    cv.cmpne.sc.h x0, x0, x0
+    cv.cmpne.sc.h x1, x1, x1
+    cv.cmpne.sc.h x2, x2, x2
+    cv.cmpne.sc.h x8, x8, x8
+    cv.cmpne.sc.h x20, x20, x20
+    cv.cmpne.sc.h x31, x31, x31
+    cv.cmpne.sci.b x0, x0, 20
+    cv.cmpne.sci.b x1, x1, 20
+    cv.cmpne.sci.b x2, x2, 20
+    cv.cmpne.sci.b x8, x8, 20
+    cv.cmpne.sci.b x20, x20, 20
+    cv.cmpne.sci.b x31, x31, 20
+    cv.cmpne.sci.b x6, x7, -32
+    cv.cmpne.sci.b x6, x7, 0
+    cv.cmpne.sci.b x6, x7, 31
+    cv.cmpne.sci.h x0, x0, 20
+    cv.cmpne.sci.h x1, x1, 20
+    cv.cmpne.sci.h x2, x2, 20
+    cv.cmpne.sci.h x8, x8, 20
+    cv.cmpne.sci.h x20, x20, 20
+    cv.cmpne.sci.h x31, x31, 20
+    cv.cmpne.sci.h x6, x7, -32
+    cv.cmpne.sci.h x6, x7, 0
+    cv.cmpne.sci.h x6, x7, 31
+    cv.cplxconj x0, x0
+    cv.cplxconj x1, x1
+    cv.cplxconj x2, x2
+    cv.cplxconj x8, x8
+    cv.cplxconj x20, x20
+    cv.cplxconj x31, x31
+    cv.cplxmul.i.div2 x0, x0, x0
+    cv.cplxmul.i.div2 x1, x1, x1
+    cv.cplxmul.i.div2 x2, x2, x2
+    cv.cplxmul.i.div2 x8, x8, x8
+    cv.cplxmul.i.div2 x20, x20, x20
+    cv.cplxmul.i.div2 x31, x31, x31
+    cv.cplxmul.i.div4 x0, x0, x0
+    cv.cplxmul.i.div4 x1, x1, x1
+    cv.cplxmul.i.div4 x2, x2, x2
+    cv.cplxmul.i.div4 x8, x8, x8
+    cv.cplxmul.i.div4 x20, x20, x20
+    cv.cplxmul.i.div4 x31, x31, x31
+    cv.cplxmul.i.div8 x0, x0, x0
+    cv.cplxmul.i.div8 x1, x1, x1
+    cv.cplxmul.i.div8 x2, x2, x2
+    cv.cplxmul.i.div8 x8, x8, x8
+    cv.cplxmul.i.div8 x20, x20, x20
+    cv.cplxmul.i.div8 x31, x31, x31
+    cv.cplxmul.i x0, x0, x0
+    cv.cplxmul.i x1, x1, x1
+    cv.cplxmul.i x2, x2, x2
+    cv.cplxmul.i x8, x8, x8
+    cv.cplxmul.i x20, x20, x20
+    cv.cplxmul.i x31, x31, x31
+    cv.cplxmul.r.div2 x0, x0, x0
+    cv.cplxmul.r.div2 x1, x1, x1
+    cv.cplxmul.r.div2 x2, x2, x2
+    cv.cplxmul.r.div2 x8, x8, x8
+    cv.cplxmul.r.div2 x20, x20, x20
+    cv.cplxmul.r.div2 x31, x31, x31
+    cv.cplxmul.r.div4 x0, x0, x0
+    cv.cplxmul.r.div4 x1, x1, x1
+    cv.cplxmul.r.div4 x2, x2, x2
+    cv.cplxmul.r.div4 x8, x8, x8
+    cv.cplxmul.r.div4 x20, x20, x20
+    cv.cplxmul.r.div4 x31, x31, x31
+    cv.cplxmul.r.div8 x0, x0, x0
+    cv.cplxmul.r.div8 x1, x1, x1
+    cv.cplxmul.r.div8 x2, x2, x2
+    cv.cplxmul.r.div8 x8, x8, x8
+    cv.cplxmul.r.div8 x20, x20, x20
+    cv.cplxmul.r.div8 x31, x31, x31
+    cv.cplxmul.r x0, x0, x0
+    cv.cplxmul.r x1, x1, x1
+    cv.cplxmul.r x2, x2, x2
+    cv.cplxmul.r x8, x8, x8
+    cv.cplxmul.r x20, x20, x20
+    cv.cplxmul.r x31, x31, x31
+    cv.dotsp.b x0, x0, x0
+    cv.dotsp.b x1, x1, x1
+    cv.dotsp.b x2, x2, x2
+    cv.dotsp.b x8, x8, x8
+    cv.dotsp.b x20, x20, x20
+    cv.dotsp.b x31, x31, x31
+    cv.dotsp.h x0, x0, x0
+    cv.dotsp.h x1, x1, x1
+    cv.dotsp.h x2, x2, x2
+    cv.dotsp.h x8, x8, x8
+    cv.dotsp.h x20, x20, x20
+    cv.dotsp.h x31, x31, x31
+    cv.dotsp.sc.b x0, x0, x0
+    cv.dotsp.sc.b x1, x1, x1
+    cv.dotsp.sc.b x2, x2, x2
+    cv.dotsp.sc.b x8, x8, x8
+    cv.dotsp.sc.b x20, x20, x20
+    cv.dotsp.sc.b x31, x31, x31
+    cv.dotsp.sc.h x0, x0, x0
+    cv.dotsp.sc.h x1, x1, x1
+    cv.dotsp.sc.h x2, x2, x2
+    cv.dotsp.sc.h x8, x8, x8
+    cv.dotsp.sc.h x20, x20, x20
+    cv.dotsp.sc.h x31, x31, x31
+    cv.dotsp.sci.b x0, x0, 20
+    cv.dotsp.sci.b x1, x1, 20
+    cv.dotsp.sci.b x2, x2, 20
+    cv.dotsp.sci.b x8, x8, 20
+    cv.dotsp.sci.b x20, x20, 20
+    cv.dotsp.sci.b x31, x31, 20
+    cv.dotsp.sci.b x6, x7, -32
+    cv.dotsp.sci.b x6, x7, 0
+    cv.dotsp.sci.b x6, x7, 31
+    cv.dotsp.sci.h x0, x0, 20
+    cv.dotsp.sci.h x1, x1, 20
+    cv.dotsp.sci.h x2, x2, 20
+    cv.dotsp.sci.h x8, x8, 20
+    cv.dotsp.sci.h x20, x20, 20
+    cv.dotsp.sci.h x31, x31, 20
+    cv.dotsp.sci.h x6, x7, -32
+    cv.dotsp.sci.h x6, x7, 0
+    cv.dotsp.sci.h x6, x7, 31
+    cv.dotup.b x0, x0, x0
+    cv.dotup.b x1, x1, x1
+    cv.dotup.b x2, x2, x2
+    cv.dotup.b x8, x8, x8
+    cv.dotup.b x20, x20, x20
+    cv.dotup.b x31, x31, x31
+    cv.dotup.h x0, x0, x0
+    cv.dotup.h x1, x1, x1
+    cv.dotup.h x2, x2, x2
+    cv.dotup.h x8, x8, x8
+    cv.dotup.h x20, x20, x20
+    cv.dotup.h x31, x31, x31
+    cv.dotup.sc.b x0, x0, x0
+    cv.dotup.sc.b x1, x1, x1
+    cv.dotup.sc.b x2, x2, x2
+    cv.dotup.sc.b x8, x8, x8
+    cv.dotup.sc.b x20, x20, x20
+    cv.dotup.sc.b x31, x31, x31
+    cv.dotup.sc.h x0, x0, x0
+    cv.dotup.sc.h x1, x1, x1
+    cv.dotup.sc.h x2, x2, x2
+    cv.dotup.sc.h x8, x8, x8
+    cv.dotup.sc.h x20, x20, x20
+    cv.dotup.sc.h x31, x31, x31
+    cv.dotup.sci.b x0, x0, 20
+    cv.dotup.sci.b x1, x1, 20
+    cv.dotup.sci.b x2, x2, 20
+    cv.dotup.sci.b x8, x8, 20
+    cv.dotup.sci.b x20, x20, 20
+    cv.dotup.sci.b x31, x31, 20
+    cv.dotup.sci.b x6, x7, 0
+    cv.dotup.sci.b x6, x7, 63
+    cv.dotup.sci.h x0, x0, 20
+    cv.dotup.sci.h x1, x1, 20
+    cv.dotup.sci.h x2, x2, 20
+    cv.dotup.sci.h x8, x8, 20
+    cv.dotup.sci.h x20, x20, 20
+    cv.dotup.sci.h x31, x31, 20
+    cv.dotup.sci.h x6, x7, 0
+    cv.dotup.sci.h x6, x7, 63
+    cv.dotusp.b x0, x0, x0
+    cv.dotusp.b x1, x1, x1
+    cv.dotusp.b x2, x2, x2
+    cv.dotusp.b x8, x8, x8
+    cv.dotusp.b x20, x20, x20
+    cv.dotusp.b x31, x31, x31
+    cv.dotusp.h x0, x0, x0
+    cv.dotusp.h x1, x1, x1
+    cv.dotusp.h x2, x2, x2
+    cv.dotusp.h x8, x8, x8
+    cv.dotusp.h x20, x20, x20
+    cv.dotusp.h x31, x31, x31
+    cv.dotusp.sc.b x0, x0, x0
+    cv.dotusp.sc.b x1, x1, x1
+    cv.dotusp.sc.b x2, x2, x2
+    cv.dotusp.sc.b x8, x8, x8
+    cv.dotusp.sc.b x20, x20, x20
+    cv.dotusp.sc.b x31, x31, x31
+    cv.dotusp.sc.h x0, x0, x0
+    cv.dotusp.sc.h x1, x1, x1
+    cv.dotusp.sc.h x2, x2, x2
+    cv.dotusp.sc.h x8, x8, x8
+    cv.dotusp.sc.h x20, x20, x20
+    cv.dotusp.sc.h x31, x31, x31
+    cv.dotusp.sci.b x0, x0, 20
+    cv.dotusp.sci.b x1, x1, 20
+    cv.dotusp.sci.b x2, x2, 20
+    cv.dotusp.sci.b x8, x8, 20
+    cv.dotusp.sci.b x20, x20, 20
+    cv.dotusp.sci.b x31, x31, 20
+    cv.dotusp.sci.b x6, x7, -32
+    cv.dotusp.sci.b x6, x7, 0
+    cv.dotusp.sci.b x6, x7, 31
+    cv.dotusp.sci.h x0, x0, 20
+    cv.dotusp.sci.h x1, x1, 20
+    cv.dotusp.sci.h x2, x2, 20
+    cv.dotusp.sci.h x8, x8, 20
+    cv.dotusp.sci.h x20, x20, 20
+    cv.dotusp.sci.h x31, x31, 20
+    cv.dotusp.sci.h x6, x7, -32
+    cv.dotusp.sci.h x6, x7, 0
+    cv.dotusp.sci.h x6, x7, 31
+    cv.extract.b x0, x0, 2
+    cv.extract.b x1, x1, 2
+    cv.extract.b x2, x2, 2
+    cv.extract.b x8, x8, 2
+    cv.extract.b x20, x20, 2
+    cv.extract.b x31, x31, 2
+    cv.extract.b x6, x7, 0
+    cv.extract.b x6, x7, 3
+    cv.extract.h x0, x0, 1
+    cv.extract.h x1, x1, 1
+    cv.extract.h x2, x2, 1
+    cv.extract.h x8, x8, 1
+    cv.extract.h x20, x20, 1
+    cv.extract.h x31, x31, 1
+    cv.extract.h x6, x7, 0
+    cv.extract.h x6, x7, 1
+    cv.extractu.b x0, x0, 2
+    cv.extractu.b x1, x1, 2
+    cv.extractu.b x2, x2, 2
+    cv.extractu.b x8, x8, 2
+    cv.extractu.b x20, x20, 2
+    cv.extractu.b x31, x31, 2
+    cv.extractu.b x6, x7, 0
+    cv.extractu.b x6, x7, 3
+    cv.extractu.h x0, x0, 1
+    cv.extractu.h x1, x1, 1
+    cv.extractu.h x2, x2, 1
+    cv.extractu.h x8, x8, 1
+    cv.extractu.h x20, x20, 1
+    cv.extractu.h x31, x31, 1
+    cv.extractu.h x6, x7, 0
+    cv.extractu.h x6, x7, 1
+    cv.insert.b x0, x0, 2
+    cv.insert.b x1, x1, 2
+    cv.insert.b x2, x2, 2
+    cv.insert.b x8, x8, 2
+    cv.insert.b x20, x20, 2
+    cv.insert.b x31, x31, 2
+    cv.insert.b x6, x7, 0
+    cv.insert.b x6, x7, 3
+    cv.insert.h x0, x0, 1
+    cv.insert.h x1, x1, 1
+    cv.insert.h x2, x2, 1
+    cv.insert.h x8, x8, 1
+    cv.insert.h x20, x20, 1
+    cv.insert.h x31, x31, 1
+    cv.insert.h x6, x7, 0
+    cv.insert.h x6, x7, 1
+    cv.max.b x0, x0, x0
+    cv.max.b x1, x1, x1
+    cv.max.b x2, x2, x2
+    cv.max.b x8, x8, x8
+    cv.max.b x20, x20, x20
+    cv.max.b x31, x31, x31
+    cv.max.h x0, x0, x0
+    cv.max.h x1, x1, x1
+    cv.max.h x2, x2, x2
+    cv.max.h x8, x8, x8
+    cv.max.h x20, x20, x20
+    cv.max.h x31, x31, x31
+    cv.max.sc.b x0, x0, x0
+    cv.max.sc.b x1, x1, x1
+    cv.max.sc.b x2, x2, x2
+    cv.max.sc.b x8, x8, x8
+    cv.max.sc.b x20, x20, x20
+    cv.max.sc.b x31, x31, x31
+    cv.max.sc.h x0, x0, x0
+    cv.max.sc.h x1, x1, x1
+    cv.max.sc.h x2, x2, x2
+    cv.max.sc.h x8, x8, x8
+    cv.max.sc.h x20, x20, x20
+    cv.max.sc.h x31, x31, x31
+    cv.max.sci.b x0, x0, 20
+    cv.max.sci.b x1, x1, 20
+    cv.max.sci.b x2, x2, 20
+    cv.max.sci.b x8, x8, 20
+    cv.max.sci.b x20, x20, 20
+    cv.max.sci.b x31, x31, 20
+    cv.max.sci.b x6, x7, -32
+    cv.max.sci.b x6, x7, 0
+    cv.max.sci.b x6, x7, 31
+    cv.max.sci.h x0, x0, 20
+    cv.max.sci.h x1, x1, 20
+    cv.max.sci.h x2, x2, 20
+    cv.max.sci.h x8, x8, 20
+    cv.max.sci.h x20, x20, 20
+    cv.max.sci.h x31, x31, 20
+    cv.max.sci.h x6, x7, -32
+    cv.max.sci.h x6, x7, 0
+    cv.max.sci.h x6, x7, 31
+    cv.maxu.b x0, x0, x0
+    cv.maxu.b x1, x1, x1
+    cv.maxu.b x2, x2, x2
+    cv.maxu.b x8, x8, x8
+    cv.maxu.b x20, x20, x20
+    cv.maxu.b x31, x31, x31
+    cv.maxu.h x0, x0, x0
+    cv.maxu.h x1, x1, x1
+    cv.maxu.h x2, x2, x2
+    cv.maxu.h x8, x8, x8
+    cv.maxu.h x20, x20, x20
+    cv.maxu.h x31, x31, x31
+    cv.maxu.sc.b x0, x0, x0
+    cv.maxu.sc.b x1, x1, x1
+    cv.maxu.sc.b x2, x2, x2
+    cv.maxu.sc.b x8, x8, x8
+    cv.maxu.sc.b x20, x20, x20
+    cv.maxu.sc.b x31, x31, x31
+    cv.maxu.sc.h x0, x0, x0
+    cv.maxu.sc.h x1, x1, x1
+    cv.maxu.sc.h x2, x2, x2
+    cv.maxu.sc.h x8, x8, x8
+    cv.maxu.sc.h x20, x20, x20
+    cv.maxu.sc.h x31, x31, x31
+    cv.maxu.sci.b x0, x0, 20
+    cv.maxu.sci.b x1, x1, 20
+    cv.maxu.sci.b x2, x2, 20
+    cv.maxu.sci.b x8, x8, 20
+    cv.maxu.sci.b x20, x20, 20
+    cv.maxu.sci.b x31, x31, 20
+    cv.maxu.sci.b x6, x7, 0
+    cv.maxu.sci.b x6, x7, 63
+    cv.maxu.sci.h x0, x0, 20
+    cv.maxu.sci.h x1, x1, 20
+    cv.maxu.sci.h x2, x2, 20
+    cv.maxu.sci.h x8, x8, 20
+    cv.maxu.sci.h x20, x20, 20
+    cv.maxu.sci.h x31, x31, 20
+    cv.maxu.sci.h x6, x7, 0
+    cv.maxu.sci.h x6, x7, 63
+    cv.min.b x0, x0, x0
+    cv.min.b x1, x1, x1
+    cv.min.b x2, x2, x2
+    cv.min.b x8, x8, x8
+    cv.min.b x20, x20, x20
+    cv.min.b x31, x31, x31
+    cv.min.h x0, x0, x0
+    cv.min.h x1, x1, x1
+    cv.min.h x2, x2, x2
+    cv.min.h x8, x8, x8
+    cv.min.h x20, x20, x20
+    cv.min.h x31, x31, x31
+    cv.min.sc.b x0, x0, x0
+    cv.min.sc.b x1, x1, x1
+    cv.min.sc.b x2, x2, x2
+    cv.min.sc.b x8, x8, x8
+    cv.min.sc.b x20, x20, x20
+    cv.min.sc.b x31, x31, x31
+    cv.min.sc.h x0, x0, x0
+    cv.min.sc.h x1, x1, x1
+    cv.min.sc.h x2, x2, x2
+    cv.min.sc.h x8, x8, x8
+    cv.min.sc.h x20, x20, x20
+    cv.min.sc.h x31, x31, x31
+    cv.min.sci.b x0, x0, 20
+    cv.min.sci.b x1, x1, 20
+    cv.min.sci.b x2, x2, 20
+    cv.min.sci.b x8, x8, 20
+    cv.min.sci.b x20, x20, 20
+    cv.min.sci.b x31, x31, 20
+    cv.min.sci.b x6, x7, -32
+    cv.min.sci.b x6, x7, 0
+    cv.min.sci.b x6, x7, 31
+    cv.min.sci.h x0, x0, 20
+    cv.min.sci.h x1, x1, 20
+    cv.min.sci.h x2, x2, 20
+    cv.min.sci.h x8, x8, 20
+    cv.min.sci.h x20, x20, 20
+    cv.min.sci.h x31, x31, 20
+    cv.min.sci.h x6, x7, -32
+    cv.min.sci.h x6, x7, 0
+    cv.min.sci.h x6, x7, 31
+    cv.minu.b x0, x0, x0
+    cv.minu.b x1, x1, x1
+    cv.minu.b x2, x2, x2
+    cv.minu.b x8, x8, x8
+    cv.minu.b x20, x20, x20
+    cv.minu.b x31, x31, x31
+    cv.minu.h x0, x0, x0
+    cv.minu.h x1, x1, x1
+    cv.minu.h x2, x2, x2
+    cv.minu.h x8, x8, x8
+    cv.minu.h x20, x20, x20
+    cv.minu.h x31, x31, x31
+    cv.minu.sc.b x0, x0, x0
+    cv.minu.sc.b x1, x1, x1
+    cv.minu.sc.b x2, x2, x2
+    cv.minu.sc.b x8, x8, x8
+    cv.minu.sc.b x20, x20, x20
+    cv.minu.sc.b x31, x31, x31
+    cv.minu.sc.h x0, x0, x0
+    cv.minu.sc.h x1, x1, x1
+    cv.minu.sc.h x2, x2, x2
+    cv.minu.sc.h x8, x8, x8
+    cv.minu.sc.h x20, x20, x20
+    cv.minu.sc.h x31, x31, x31
+    cv.minu.sci.b x0, x0, 20
+    cv.minu.sci.b x1, x1, 20
+    cv.minu.sci.b x2, x2, 20
+    cv.minu.sci.b x8, x8, 20
+    cv.minu.sci.b x20, x20, 20
+    cv.minu.sci.b x31, x31, 20
+    cv.minu.sci.b x6, x7, 0
+    cv.minu.sci.b x6, x7, 63
+    cv.minu.sci.h x0, x0, 20
+    cv.minu.sci.h x1, x1, 20
+    cv.minu.sci.h x2, x2, 20
+    cv.minu.sci.h x8, x8, 20
+    cv.minu.sci.h x20, x20, 20
+    cv.minu.sci.h x31, x31, 20
+    cv.minu.sci.h x6, x7, 0
+    cv.minu.sci.h x6, x7, 63
+    cv.or.b x0, x0, x0
+    cv.or.b x1, x1, x1
+    cv.or.b x2, x2, x2
+    cv.or.b x8, x8, x8
+    cv.or.b x20, x20, x20
+    cv.or.b x31, x31, x31
+    cv.or.h x0, x0, x0
+    cv.or.h x1, x1, x1
+    cv.or.h x2, x2, x2
+    cv.or.h x8, x8, x8
+    cv.or.h x20, x20, x20
+    cv.or.h x31, x31, x31
+    cv.or.sc.b x0, x0, x0
+    cv.or.sc.b x1, x1, x1
+    cv.or.sc.b x2, x2, x2
+    cv.or.sc.b x8, x8, x8
+    cv.or.sc.b x20, x20, x20
+    cv.or.sc.b x31, x31, x31
+    cv.or.sc.h x0, x0, x0
+    cv.or.sc.h x1, x1, x1
+    cv.or.sc.h x2, x2, x2
+    cv.or.sc.h x8, x8, x8
+    cv.or.sc.h x20, x20, x20
+    cv.or.sc.h x31, x31, x31
+    cv.or.sci.b x0, x0, 20
+    cv.or.sci.b x1, x1, 20
+    cv.or.sci.b x2, x2, 20
+    cv.or.sci.b x8, x8, 20
+    cv.or.sci.b x20, x20, 20
+    cv.or.sci.b x31, x31, 20
+    cv.or.sci.b x6, x7, -32
+    cv.or.sci.b x6, x7, 0
+    cv.or.sci.b x6, x7, 31
+    cv.or.sci.h x0, x0, 20
+    cv.or.sci.h x1, x1, 20
+    cv.or.sci.h x2, x2, 20
+    cv.or.sci.h x8, x8, 20
+    cv.or.sci.h x20, x20, 20
+    cv.or.sci.h x31, x31, 20
+    cv.or.sci.h x6, x7, -32
+    cv.or.sci.h x6, x7, 0
+    cv.or.sci.h x6, x7, 31
+    cv.packhi.b x0, x0, x0
+    cv.packhi.b x1, x1, x1
+    cv.packhi.b x2, x2, x2
+    cv.packhi.b x8, x8, x8
+    cv.packhi.b x20, x20, x20
+    cv.packhi.b x31, x31, x31
+    cv.pack.h x0, x0, x0
+    cv.pack.h x1, x1, x1
+    cv.pack.h x2, x2, x2
+    cv.pack.h x8, x8, x8
+    cv.pack.h x20, x20, x20
+    cv.pack.h x31, x31, x31
+    cv.packlo.b x0, x0, x0
+    cv.packlo.b x1, x1, x1
+    cv.packlo.b x2, x2, x2
+    cv.packlo.b x8, x8, x8
+    cv.packlo.b x20, x20, x20
+    cv.packlo.b x31, x31, x31
+    cv.pack x0, x0, x0
+    cv.pack x1, x1, x1
+    cv.pack x2, x2, x2
+    cv.pack x8, x8, x8
+    cv.pack x20, x20, x20
+    cv.pack x31, x31, x31
+    cv.sdotsp.b x0, x0, x0
+    cv.sdotsp.b x1, x1, x1
+    cv.sdotsp.b x2, x2, x2
+    cv.sdotsp.b x8, x8, x8
+    cv.sdotsp.b x20, x20, x20
+    cv.sdotsp.b x31, x31, x31
+    cv.sdotsp.h x0, x0, x0
+    cv.sdotsp.h x1, x1, x1
+    cv.sdotsp.h x2, x2, x2
+    cv.sdotsp.h x8, x8, x8
+    cv.sdotsp.h x20, x20, x20
+    cv.sdotsp.h x31, x31, x31
+    cv.sdotsp.sc.b x0, x0, x0
+    cv.sdotsp.sc.b x1, x1, x1
+    cv.sdotsp.sc.b x2, x2, x2
+    cv.sdotsp.sc.b x8, x8, x8
+    cv.sdotsp.sc.b x20, x20, x20
+    cv.sdotsp.sc.b x31, x31, x31
+    cv.sdotsp.sc.h x0, x0, x0
+    cv.sdotsp.sc.h x1, x1, x1
+    cv.sdotsp.sc.h x2, x2, x2
+    cv.sdotsp.sc.h x8, x8, x8
+    cv.sdotsp.sc.h x20, x20, x20
+    cv.sdotsp.sc.h x31, x31, x31
+    cv.sdotsp.sci.b x0, x0, 20
+    cv.sdotsp.sci.b x1, x1, 20
+    cv.sdotsp.sci.b x2, x2, 20
+    cv.sdotsp.sci.b x8, x8, 20
+    cv.sdotsp.sci.b x20, x20, 20
+    cv.sdotsp.sci.b x31, x31, 20
+    cv.sdotsp.sci.b x6, x7, -32
+    cv.sdotsp.sci.b x6, x7, 0
+    cv.sdotsp.sci.b x6, x7, 31
+    cv.sdotsp.sci.h x0, x0, 20
+    cv.sdotsp.sci.h x1, x1, 20
+    cv.sdotsp.sci.h x2, x2, 20
+    cv.sdotsp.sci.h x8, x8, 20
+    cv.sdotsp.sci.h x20, x20, 20
+    cv.sdotsp.sci.h x31, x31, 20
+    cv.sdotsp.sci.h x6, x7, -32
+    cv.sdotsp.sci.h x6, x7, 0
+    cv.sdotsp.sci.h x6, x7, 31
+    cv.sdotup.b x0, x0, x0
+    cv.sdotup.b x1, x1, x1
+    cv.sdotup.b x2, x2, x2
+    cv.sdotup.b x8, x8, x8
+    cv.sdotup.b x20, x20, x20
+    cv.sdotup.b x31, x31, x31
+    cv.sdotup.h x0, x0, x0
+    cv.sdotup.h x1, x1, x1
+    cv.sdotup.h x2, x2, x2
+    cv.sdotup.h x8, x8, x8
+    cv.sdotup.h x20, x20, x20
+    cv.sdotup.h x31, x31, x31
+    cv.sdotup.sc.b x0, x0, x0
+    cv.sdotup.sc.b x1, x1, x1
+    cv.sdotup.sc.b x2, x2, x2
+    cv.sdotup.sc.b x8, x8, x8
+    cv.sdotup.sc.b x20, x20, x20
+    cv.sdotup.sc.b x31, x31, x31
+    cv.sdotup.sc.h x0, x0, x0
+    cv.sdotup.sc.h x1, x1, x1
+    cv.sdotup.sc.h x2, x2, x2
+    cv.sdotup.sc.h x8, x8, x8
+    cv.sdotup.sc.h x20, x20, x20
+    cv.sdotup.sc.h x31, x31, x31
+    cv.sdotup.sci.b x0, x0, 20
+    cv.sdotup.sci.b x1, x1, 20
+    cv.sdotup.sci.b x2, x2, 20
+    cv.sdotup.sci.b x8, x8, 20
+    cv.sdotup.sci.b x20, x20, 20
+    cv.sdotup.sci.b x31, x31, 20
+    cv.sdotup.sci.b x6, x7, 0
+    cv.sdotup.sci.b x6, x7, 63
+    cv.sdotup.sci.h x0, x0, 20
+    cv.sdotup.sci.h x1, x1, 20
+    cv.sdotup.sci.h x2, x2, 20
+    cv.sdotup.sci.h x8, x8, 20
+    cv.sdotup.sci.h x20, x20, 20
+    cv.sdotup.sci.h x31, x31, 20
+    cv.sdotup.sci.h x6, x7, 0
+    cv.sdotup.sci.h x6, x7, 63
+    cv.sdotusp.b x0, x0, x0
+    cv.sdotusp.b x1, x1, x1
+    cv.sdotusp.b x2, x2, x2
+    cv.sdotusp.b x8, x8, x8
+    cv.sdotusp.b x20, x20, x20
+    cv.sdotusp.b x31, x31, x31
+    cv.sdotusp.h x0, x0, x0
+    cv.sdotusp.h x1, x1, x1
+    cv.sdotusp.h x2, x2, x2
+    cv.sdotusp.h x8, x8, x8
+    cv.sdotusp.h x20, x20, x20
+    cv.sdotusp.h x31, x31, x31
+    cv.sdotusp.sc.b x0, x0, x0
+    cv.sdotusp.sc.b x1, x1, x1
+    cv.sdotusp.sc.b x2, x2, x2
+    cv.sdotusp.sc.b x8, x8, x8
+    cv.sdotusp.sc.b x20, x20, x20
+    cv.sdotusp.sc.b x31, x31, x31
+    cv.sdotusp.sc.h x0, x0, x0
+    cv.sdotusp.sc.h x1, x1, x1
+    cv.sdotusp.sc.h x2, x2, x2
+    cv.sdotusp.sc.h x8, x8, x8
+    cv.sdotusp.sc.h x20, x20, x20
+    cv.sdotusp.sc.h x31, x31, x31
+    cv.sdotusp.sci.b x0, x0, 20
+    cv.sdotusp.sci.b x1, x1, 20
+    cv.sdotusp.sci.b x2, x2, 20
+    cv.sdotusp.sci.b x8, x8, 20
+    cv.sdotusp.sci.b x20, x20, 20
+    cv.sdotusp.sci.b x31, x31, 20
+    cv.sdotusp.sci.b x6, x7, -32
+    cv.sdotusp.sci.b x6, x7, 0
+    cv.sdotusp.sci.b x6, x7, 31
+    cv.sdotusp.sci.h x0, x0, 20
+    cv.sdotusp.sci.h x1, x1, 20
+    cv.sdotusp.sci.h x2, x2, 20
+    cv.sdotusp.sci.h x8, x8, 20
+    cv.sdotusp.sci.h x20, x20, 20
+    cv.sdotusp.sci.h x31, x31, 20
+    cv.sdotusp.sci.h x6, x7, -32
+    cv.sdotusp.sci.h x6, x7, 0
+    cv.sdotusp.sci.h x6, x7, 31
+    cv.shuffle2.b x0, x0, x0
+    cv.shuffle2.b x1, x1, x1
+    cv.shuffle2.b x2, x2, x2
+    cv.shuffle2.b x8, x8, x8
+    cv.shuffle2.b x20, x20, x20
+    cv.shuffle2.b x31, x31, x31
+    cv.shuffle2.h x0, x0, x0
+    cv.shuffle2.h x1, x1, x1
+    cv.shuffle2.h x2, x2, x2
+    cv.shuffle2.h x8, x8, x8
+    cv.shuffle2.h x20, x20, x20
+    cv.shuffle2.h x31, x31, x31
+    cv.shuffle.b x0, x0, x0
+    cv.shuffle.b x1, x1, x1
+    cv.shuffle.b x2, x2, x2
+    cv.shuffle.b x8, x8, x8
+    cv.shuffle.b x20, x20, x20
+    cv.shuffle.b x31, x31, x31
+    cv.shuffle.h x0, x0, x0
+    cv.shuffle.h x1, x1, x1
+    cv.shuffle.h x2, x2, x2
+    cv.shuffle.h x8, x8, x8
+    cv.shuffle.h x20, x20, x20
+    cv.shuffle.h x31, x31, x31
+    cv.shufflei0.sci.b x0, x0, 20
+    cv.shufflei0.sci.b x1, x1, 20
+    cv.shufflei0.sci.b x2, x2, 20
+    cv.shufflei0.sci.b x8, x8, 20
+    cv.shufflei0.sci.b x20, x20, 20
+    cv.shufflei0.sci.b x31, x31, 20
+    cv.shufflei0.sci.b x6, x7, 0
+    cv.shufflei0.sci.b x6, x7, 63
+    cv.shufflei1.sci.b x0, x0, 20
+    cv.shufflei1.sci.b x1, x1, 20
+    cv.shufflei1.sci.b x2, x2, 20
+    cv.shufflei1.sci.b x8, x8, 20
+    cv.shufflei1.sci.b x20, x20, 20
+    cv.shufflei1.sci.b x31, x31, 20
+    cv.shufflei1.sci.b x6, x7, 0
+    cv.shufflei1.sci.b x6, x7, 63
+    cv.shufflei2.sci.b x0, x0, 20
+    cv.shufflei2.sci.b x1, x1, 20
+    cv.shufflei2.sci.b x2, x2, 20
+    cv.shufflei2.sci.b x8, x8, 20
+    cv.shufflei2.sci.b x20, x20, 20
+    cv.shufflei2.sci.b x31, x31, 20
+    cv.shufflei2.sci.b x6, x7, 0
+    cv.shufflei2.sci.b x6, x7, 63
+    cv.shufflei3.sci.b x0, x0, 20
+    cv.shufflei3.sci.b x1, x1, 20
+    cv.shufflei3.sci.b x2, x2, 20
+    cv.shufflei3.sci.b x8, x8, 20
+    cv.shufflei3.sci.b x20, x20, 20
+    cv.shufflei3.sci.b x31, x31, 20
+    cv.shufflei3.sci.b x6, x7, 0
+    cv.shufflei3.sci.b x6, x7, 63
+    cv.shuffle.sci.h x0, x0, 2
+    cv.shuffle.sci.h x1, x1, 2
+    cv.shuffle.sci.h x2, x2, 2
+    cv.shuffle.sci.h x8, x8, 2
+    cv.shuffle.sci.h x20, x20, 2
+    cv.shuffle.sci.h x31, x31, 2
+    cv.shuffle.sci.h x6, x7, 0
+    cv.shuffle.sci.h x6, x7, 3
+    cv.sll.b x0, x0, x0
+    cv.sll.b x1, x1, x1
+    cv.sll.b x2, x2, x2
+    cv.sll.b x8, x8, x8
+    cv.sll.b x20, x20, x20
+    cv.sll.b x31, x31, x31
+    cv.sll.h x0, x0, x0
+    cv.sll.h x1, x1, x1
+    cv.sll.h x2, x2, x2
+    cv.sll.h x8, x8, x8
+    cv.sll.h x20, x20, x20
+    cv.sll.h x31, x31, x31
+    cv.sll.sc.b x0, x0, x0
+    cv.sll.sc.b x1, x1, x1
+    cv.sll.sc.b x2, x2, x2
+    cv.sll.sc.b x8, x8, x8
+    cv.sll.sc.b x20, x20, x20
+    cv.sll.sc.b x31, x31, x31
+    cv.sll.sc.h x0, x0, x0
+    cv.sll.sc.h x1, x1, x1
+    cv.sll.sc.h x2, x2, x2
+    cv.sll.sc.h x8, x8, x8
+    cv.sll.sc.h x20, x20, x20
+    cv.sll.sc.h x31, x31, x31
+    cv.sll.sci.b x0, x0, 4
+    cv.sll.sci.b x1, x1, 4
+    cv.sll.sci.b x2, x2, 4
+    cv.sll.sci.b x8, x8, 4
+    cv.sll.sci.b x20, x20, 4
+    cv.sll.sci.b x31, x31, 4
+    cv.sll.sci.b x6, x7, 0
+    cv.sll.sci.b x6, x7, 7
+    cv.sll.sci.h x0, x0, 12
+    cv.sll.sci.h x1, x1, 12
+    cv.sll.sci.h x2, x2, 12
+    cv.sll.sci.h x8, x8, 12
+    cv.sll.sci.h x20, x20, 12
+    cv.sll.sci.h x31, x31, 12
+    cv.sll.sci.h x6, x7, 0
+    cv.sll.sci.h x6, x7, 15
+    cv.sra.b x0, x0, x0
+    cv.sra.b x1, x1, x1
+    cv.sra.b x2, x2, x2
+    cv.sra.b x8, x8, x8
+    cv.sra.b x20, x20, x20
+    cv.sra.b x31, x31, x31
+    cv.sra.h x0, x0, x0
+    cv.sra.h x1, x1, x1
+    cv.sra.h x2, x2, x2
+    cv.sra.h x8, x8, x8
+    cv.sra.h x20, x20, x20
+    cv.sra.h x31, x31, x31
+    cv.sra.sc.b x0, x0, x0
+    cv.sra.sc.b x1, x1, x1
+    cv.sra.sc.b x2, x2, x2
+    cv.sra.sc.b x8, x8, x8
+    cv.sra.sc.b x20, x20, x20
+    cv.sra.sc.b x31, x31, x31
+    cv.sra.sc.h x0, x0, x0
+    cv.sra.sc.h x1, x1, x1
+    cv.sra.sc.h x2, x2, x2
+    cv.sra.sc.h x8, x8, x8
+    cv.sra.sc.h x20, x20, x20
+    cv.sra.sc.h x31, x31, x31
+    cv.sra.sci.b x0, x0, 4
+    cv.sra.sci.b x1, x1, 4
+    cv.sra.sci.b x2, x2, 4
+    cv.sra.sci.b x8, x8, 4
+    cv.sra.sci.b x20, x20, 4
+    cv.sra.sci.b x31, x31, 4
+    cv.sra.sci.b x6, x7, 0
+    cv.sra.sci.b x6, x7, 7
+    cv.sra.sci.h x0, x0, 12
+    cv.sra.sci.h x1, x1, 12
+    cv.sra.sci.h x2, x2, 12
+    cv.sra.sci.h x8, x8, 12
+    cv.sra.sci.h x20, x20, 12
+    cv.sra.sci.h x31, x31, 12
+    cv.sra.sci.h x6, x7, 0
+    cv.sra.sci.h x6, x7, 15
+    cv.srl.b x0, x0, x0
+    cv.srl.b x1, x1, x1
+    cv.srl.b x2, x2, x2
+    cv.srl.b x8, x8, x8
+    cv.srl.b x20, x20, x20
+    cv.srl.b x31, x31, x31
+    cv.srl.h x0, x0, x0
+    cv.srl.h x1, x1, x1
+    cv.srl.h x2, x2, x2
+    cv.srl.h x8, x8, x8
+    cv.srl.h x20, x20, x20
+    cv.srl.h x31, x31, x31
+    cv.srl.sc.b x0, x0, x0
+    cv.srl.sc.b x1, x1, x1
+    cv.srl.sc.b x2, x2, x2
+    cv.srl.sc.b x8, x8, x8
+    cv.srl.sc.b x20, x20, x20
+    cv.srl.sc.b x31, x31, x31
+    cv.srl.sc.h x0, x0, x0
+    cv.srl.sc.h x1, x1, x1
+    cv.srl.sc.h x2, x2, x2
+    cv.srl.sc.h x8, x8, x8
+    cv.srl.sc.h x20, x20, x20
+    cv.srl.sc.h x31, x31, x31
+    cv.srl.sci.b x0, x0, 4
+    cv.srl.sci.b x1, x1, 4
+    cv.srl.sci.b x2, x2, 4
+    cv.srl.sci.b x8, x8, 4
+    cv.srl.sci.b x20, x20, 4
+    cv.srl.sci.b x31, x31, 4
+    cv.srl.sci.b x6, x7, 0
+    cv.srl.sci.b x6, x7, 7
+    cv.srl.sci.h x0, x0, 12
+    cv.srl.sci.h x1, x1, 12
+    cv.srl.sci.h x2, x2, 12
+    cv.srl.sci.h x8, x8, 12
+    cv.srl.sci.h x20, x20, 12
+    cv.srl.sci.h x31, x31, 12
+    cv.srl.sci.h x6, x7, 0
+    cv.srl.sci.h x6, x7, 15
+    cv.sub.b x0, x0, x0
+    cv.sub.b x1, x1, x1
+    cv.sub.b x2, x2, x2
+    cv.sub.b x8, x8, x8
+    cv.sub.b x20, x20, x20
+    cv.sub.b x31, x31, x31
+    cv.sub.div2 x0, x0, x0
+    cv.sub.div2 x1, x1, x1
+    cv.sub.div2 x2, x2, x2
+    cv.sub.div2 x8, x8, x8
+    cv.sub.div2 x20, x20, x20
+    cv.sub.div2 x31, x31, x31
+    cv.sub.div4 x0, x0, x0
+    cv.sub.div4 x1, x1, x1
+    cv.sub.div4 x2, x2, x2
+    cv.sub.div4 x8, x8, x8
+    cv.sub.div4 x20, x20, x20
+    cv.sub.div4 x31, x31, x31
+    cv.sub.div8 x0, x0, x0
+    cv.sub.div8 x1, x1, x1
+    cv.sub.div8 x2, x2, x2
+    cv.sub.div8 x8, x8, x8
+    cv.sub.div8 x20, x20, x20
+    cv.sub.div8 x31, x31, x31
+    cv.sub.h x0, x0, x0
+    cv.sub.h x1, x1, x1
+    cv.sub.h x2, x2, x2
+    cv.sub.h x8, x8, x8
+    cv.sub.h x20, x20, x20
+    cv.sub.h x31, x31, x31
+    cv.subrotmj.div2 x0, x0, x0
+    cv.subrotmj.div2 x1, x1, x1
+    cv.subrotmj.div2 x2, x2, x2
+    cv.subrotmj.div2 x8, x8, x8
+    cv.subrotmj.div2 x20, x20, x20
+    cv.subrotmj.div2 x31, x31, x31
+    cv.subrotmj.div4 x0, x0, x0
+    cv.subrotmj.div4 x1, x1, x1
+    cv.subrotmj.div4 x2, x2, x2
+    cv.subrotmj.div4 x8, x8, x8
+    cv.subrotmj.div4 x20, x20, x20
+    cv.subrotmj.div4 x31, x31, x31
+    cv.subrotmj.div8 x0, x0, x0
+    cv.subrotmj.div8 x1, x1, x1
+    cv.subrotmj.div8 x2, x2, x2
+    cv.subrotmj.div8 x8, x8, x8
+    cv.subrotmj.div8 x20, x20, x20
+    cv.subrotmj.div8 x31, x31, x31
+    cv.subrotmj x0, x0, x0
+    cv.subrotmj x1, x1, x1
+    cv.subrotmj x2, x2, x2
+    cv.subrotmj x8, x8, x8
+    cv.subrotmj x20, x20, x20
+    cv.subrotmj x31, x31, x31
+    cv.sub.sc.b x0, x0, x0
+    cv.sub.sc.b x1, x1, x1
+    cv.sub.sc.b x2, x2, x2
+    cv.sub.sc.b x8, x8, x8
+    cv.sub.sc.b x20, x20, x20
+    cv.sub.sc.b x31, x31, x31
+    cv.sub.sc.h x0, x0, x0
+    cv.sub.sc.h x1, x1, x1
+    cv.sub.sc.h x2, x2, x2
+    cv.sub.sc.h x8, x8, x8
+    cv.sub.sc.h x20, x20, x20
+    cv.sub.sc.h x31, x31, x31
+    cv.sub.sci.b x0, x0, 20
+    cv.sub.sci.b x1, x1, 20
+    cv.sub.sci.b x2, x2, 20
+    cv.sub.sci.b x8, x8, 20
+    cv.sub.sci.b x20, x20, 20
+    cv.sub.sci.b x31, x31, 20
+    cv.sub.sci.b x6, x7, -32
+    cv.sub.sci.b x6, x7, 0
+    cv.sub.sci.b x6, x7, 31
+    cv.sub.sci.h x0, x0, 20
+    cv.sub.sci.h x1, x1, 20
+    cv.sub.sci.h x2, x2, 20
+    cv.sub.sci.h x8, x8, 20
+    cv.sub.sci.h x20, x20, 20
+    cv.sub.sci.h x31, x31, 20
+    cv.sub.sci.h x6, x7, -32
+    cv.sub.sci.h x6, x7, 0
+    cv.sub.sci.h x6, x7, 31
+    cv.xor.b x0, x0, x0
+    cv.xor.b x1, x1, x1
+    cv.xor.b x2, x2, x2
+    cv.xor.b x8, x8, x8
+    cv.xor.b x20, x20, x20
+    cv.xor.b x31, x31, x31
+    cv.xor.h x0, x0, x0
+    cv.xor.h x1, x1, x1
+    cv.xor.h x2, x2, x2
+    cv.xor.h x8, x8, x8
+    cv.xor.h x20, x20, x20
+    cv.xor.h x31, x31, x31
+    cv.xor.sc.b x0, x0, x0
+    cv.xor.sc.b x1, x1, x1
+    cv.xor.sc.b x2, x2, x2
+    cv.xor.sc.b x8, x8, x8
+    cv.xor.sc.b x20, x20, x20
+    cv.xor.sc.b x31, x31, x31
+    cv.xor.sc.h x0, x0, x0
+    cv.xor.sc.h x1, x1, x1
+    cv.xor.sc.h x2, x2, x2
+    cv.xor.sc.h x8, x8, x8
+    cv.xor.sc.h x20, x20, x20
+    cv.xor.sc.h x31, x31, x31
+    cv.xor.sci.b x0, x0, 20
+    cv.xor.sci.b x1, x1, 20
+    cv.xor.sci.b x2, x2, 20
+    cv.xor.sci.b x8, x8, 20
+    cv.xor.sci.b x20, x20, 20
+    cv.xor.sci.b x31, x31, 20
+    cv.xor.sci.b x6, x7, -32
+    cv.xor.sci.b x6, x7, 0
+    cv.xor.sci.b x6, x7, 31
+    cv.xor.sci.h x0, x0, 20
+    cv.xor.sci.h x1, x1, 20
+    cv.xor.sci.h x2, x2, 20
+    cv.xor.sci.h x8, x8, 20
+    cv.xor.sci.h x20, x20, 20
+    cv.xor.sci.h x31, x31, 20
+    cv.xor.sci.h x6, x7, -32
+    cv.xor.sci.h x6, x7, 0
+    cv.xor.sci.h x6, x7, 31
index b10f3e2dbb19109b37c2689111c8411449c450ba..73ee81158ae30dfadcc85ec65a26b0c2e6fe220a 100644 (file)
 #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
index 7a66c7fd01233304265a5d023ff3d63df1a3c218..7df15174d604a03f72f55ffb2997576a9c59662d 100644 (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,
index 86b5287e4227ce330b4302456da119d93e966e0c..8ab138e45cec2f87ca0f653e688b8ea39fb0affe 100644 (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;
                }
index c922bcd72f738413b78c121cccaf77626daf2a8b..8d5c574da6eebf29071e63dd7369a55430db87ed 100644 (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},