Fix semantic functions for vsuxseg instructions and correct disasm typos

This CL ports commit 1f6702c18e15cdae3dc4615a0abf9ad1ef687bb9 from
the coralnpu-mpact-vsi repository, originally authored by Yongqi Chen.

Changes in this CL:
1. Fixes the semantic function for `vsuxsegei*` instructions in
   `third_party/mpact_riscv/riscv_vector.isa` to correctly point to
   `VsSegmentIndexed` instead of the buggy `VsSegmentStrided`. Also
   updates inline comments to use `/*index_width*/`.
2. Fixes widespread copy-paste bugs across `riscv_vector.isa` and
   `learning/brain/research/kelvin/sim/coralnpu_v2.isa` where ordered
   segment instructions (`vsoxseg`, `vloxseg`) were inaccurately
   configured to disassemble as `vsuxseg` and `vluxseg`.

PiperOrigin-RevId: 975911208
diff --git a/riscv/riscv_vector.isa b/riscv/riscv_vector.isa
index c68b524..ee9ae36 100644
--- a/riscv/riscv_vector.isa
+++ b/riscv/riscv_vector.isa
@@ -258,19 +258,19 @@
     // Vector indexed segment load ordered.
 
     vloxsegei8{(: rs1, vs2, vmask, nf :), (: nf : vd_nf)},
-      disasm: "vluxseg%nf\\ei1.v", "%vd_nf, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei1.v", "%vd_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VlSegmentIndexed, /*index_width*/ 1)",
                "absl::bind_front(&VlSegmentChild, /*element_width*/ 1)";
     vloxsegei16{(: rs1, vs2, vmask, nf :), (: nf : vd_nf)},
-      disasm: "vluxseg%nf\\ei2.v", "%vd_nf, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei2.v", "%vd_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VlSegmentIndexed, /*index_width*/ 2)",
                "absl::bind_front(&VlSegmentChild, /*element_width*/ 2)";
     vloxsegei32{(: rs1, vs2, vmask, nf :), (: nf : vd_nf)},
-      disasm: "vluxseg%nf\\ei4.v", "%vd_nf, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei4.v", "%vd_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VlSegmentIndexed, /*index_width*/ 4)",
                "absl::bind_front(&VlSegmentChild, /*element_width*/ 4)";
     vloxsegei64{(: rs1, vs2, vmask, nf :), (: nf : vd_nf)},
-      disasm: "vluxseg%nf\\ei8.v", "%vd_nf, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei8.v", "%vd_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VlSegmentIndexed, /*index_width*/ 8)",
                "absl::bind_front(&VlSegmentChild, /*element_width*/ 8)";
 
@@ -432,29 +432,29 @@
     // Vector indexed segment store unordered.
     vsuxsegei8{(: vs3_nf, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei1.v", "%vs3_nf, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&VsSegmentStrided, /*element_width*/ 1)";
+      semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 1)";
     vsuxsegei16{(: vs3_nf, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei2.v", "%vs3_nf, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&VsSegmentStrided, /*element_width*/ 2)";
+      semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 2)";
     vsuxsegei32{(: vs3_nf, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei4.v", "%vs3_nf, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&VsSegmentStrided, /*element_width*/ 4)";
+      semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 4)";
     vsuxsegei64{(: vs3_nf, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei8.v", "%vs3_nf, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&VsSegmentStrided, /*element_width*/ 8)";
+      semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 8)";
 
     // Vector indexed segment store ordered.
     vsoxsegei8{(: vs3_nf, rs1, vs2, vmask, nf :)},
       disasm: "vsoxseg%nf\\ei1.v", "%vs3_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 1)";
     vsoxsegei16{(: vs3_nf, rs1, vs2, vmask, nf :)},
-      disasm: "vsuxseg%nf\\ei2.v", "%vs3_nf, (%rs1), %vs2, %vmask",
+      disasm: "vsoxseg%nf\\ei2.v", "%vs3_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 2)";
     vsoxsegei32{(: vs3_nf, rs1, vs2, vmask, nf :)},
-      disasm: "vsuxseg%nf\\ei4.v", "%vs3_nf, (%rs1), %vs2, %vmask",
+      disasm: "vsoxseg%nf\\ei4.v", "%vs3_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 4)";
     vsoxsegei64{(: vs3_nf, rs1, vs2, vmask, nf :)},
-      disasm: "vsuxseg%nf\\ei8.v", "%vs3_nf, (%rs1), %vs2, %vmask",
+      disasm: "vsoxseg%nf\\ei8.v", "%vs3_nf, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&VsSegmentIndexed, /*index_width*/ 8)";
 
     // Integer OPIVV, OPIVX, OPIVI.
@@ -1627,15 +1627,15 @@
     // Vector indexed segment load ordered.
 
     vloxsegei8{(: rs1, vs2, vmask, nf :), (: nf : vd)},
-      disasm: "vluxseg%nf\\ei1.v", "%vd, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei1.v", "%vd, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&::mpact::sim::riscv::VlSegmentIndexed, /*index_width*/ 1)",
                "absl::bind_front(&::mpact::sim::riscv::VlSegmentChild, /*element_width*/ 1)";
     vloxsegei16{(: rs1, vs2, vmask, nf :), (: nf : vd)},
-      disasm: "vluxseg%nf\\ei2.v", "%vd, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei2.v", "%vd, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&::mpact::sim::riscv::VlSegmentIndexed, /*index_width*/ 2)",
                "absl::bind_front(&::mpact::sim::riscv::VlSegmentChild, /*element_width*/ 2)";
     vloxsegei32{(: rs1, vs2, vmask, nf :), (: nf : vd)},
-      disasm: "vluxseg%nf\\ei4.v", "%vd, (%rs1), %vs2, %vmask",
+      disasm: "vloxseg%nf\\ei4.v", "%vd, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&::mpact::sim::riscv::VlSegmentIndexed, /*index_width*/ 4)",
                "absl::bind_front(&::mpact::sim::riscv::VlSegmentChild, /*element_width*/ 4)";
 
@@ -1764,23 +1764,23 @@
     // Vector indexed segment store unordered.
     vsuxsegei8{(: vs3, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei1.v", "%vs3, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentStrided, /*element_width*/ 1)";
+      semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentIndexed, /*index_width*/ 1)";
     vsuxsegei16{(: vs3, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei2.v", "%vs3, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentStrided, /*element_width*/ 2)";
+      semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentIndexed, /*index_width*/ 2)";
     vsuxsegei32{(: vs3, rs1, vs2, vmask, nf :)},
       disasm: "vsuxseg%nf\\ei4.v", "%vs3, (%rs1), %vs2, %vmask",
-      semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentStrided, /*element_width*/ 4)";
+      semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentIndexed, /*index_width*/ 4)";
 
     // Vector indexed segment store ordered.
     vsoxsegei8{(: vs3, rs1, vs2, vmask, nf :)},
-      disasm: "vsuxseg%nf\\ei1.v", "%vs3, (%rs1), %vs2, %vmask",
+      disasm: "vsoxseg%nf\\ei1.v", "%vs3, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentIndexed, /*index_width*/ 1)";
     vsoxsegei16{(: vs3, rs1, vs2, vmask, nf :)},
-      disasm: "vsuxseg%nf\\ei2.v", "%vs3, (%rs1), %vs2, %vmask",
+      disasm: "vsoxseg%nf\\ei2.v", "%vs3, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentIndexed, /*index_width*/ 2)";
     vsoxsegei32{(: vs3, rs1, vs2, vmask, nf :)},
-      disasm: "vsuxseg%nf\\ei4.v", "%vs3, (%rs1), %vs2, %vmask",
+      disasm: "vsoxseg%nf\\ei4.v", "%vs3, (%rs1), %vs2, %vmask",
       semfunc: "absl::bind_front(&::mpact::sim::riscv::VsSegmentIndexed, /*index_width*/ 4)";
 
     // Integer OPIVV, OPIVX, OPIVI.