No public description

PiperOrigin-RevId: 555532948
diff --git a/sim/kelvin_memory.isa b/sim/kelvin_memory.isa
index b09fc13..51e6119 100644
--- a/sim/kelvin_memory.isa
+++ b/sim/kelvin_memory.isa
@@ -108,379 +108,379 @@
 
     //vld
     vld_b_x{(: vs1 :), (: : vd)},
-    disasm: "vld.b.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.b.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>, /*strip_mine*/ false)";
     vld_h_x{(: vs1 :), (: : vd)},
-    disasm: "vld.h.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.h.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_x{(: vs1 :), (: : vd)},
-    disasm: "vld.w.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.w.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_x_m{(: vs1 :), (: : vd)},
-    disasm: "vld.b.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.b.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_x_m{(: vs1 :), (: : vd)},
-    disasm: "vld.h.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.h.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_x_m{(: vs1 :), (: : vd)},
-    disasm: "vld.w.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.w.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_p_x{(: vs1 : vs1), (: : vd)},
-    disasm: "vld.b.p.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.b.p.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ false)";
     vld_h_p_x{(: vs1 : vs1), (: : vd)},
-    disasm: "vld.h.p.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.h.p.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_p_x{(: vs1 : vs1), (: : vd)},
-    disasm: "vld.w.p.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.w.p.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_p_x_m{(: vs1 : vs1), (: : vd)},
-    disasm: "vld.b.p.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.b.p.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_p_x_m{(: vs1 : vs1), (: : vd)},
-    disasm: "vld.h.p.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.h.p.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_p_x_m{(: vs1 : vs1), (: : vd)},
-    disasm: "vld.w.p.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.w.p.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_p_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.p.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.b.p.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ false)";
     vld_h_p_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.p.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.h.p.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_p_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.p.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.w.p.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_p_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.p.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.b.p.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_p_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.p.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.h.p.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_p_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.p.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.w.p.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_l_xx{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.b.l.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.b.l.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>, /*strip_mine*/ false)";
     vld_h_l_xx{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.h.l.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.h.l.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_l_xx{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.w.l.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.w.l.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_l_xx_m{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.b.l.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.b.l.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_l_xx_m{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.h.l.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.h.l.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_l_xx_m{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.w.l.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.w.l.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_lp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.lp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.b.lp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ false)";
     vld_h_lp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.lp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.h.lp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_lp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.lp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
+      disasm: "vld.w.lp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_lp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.lp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.b.lp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_lp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.lp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.h.lp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_lp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.lp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
+      disasm: "vld.w.lp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_s_xx{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.b.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.b.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>, /*strip_mine*/ false)";
     vld_h_s_xx{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.h.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.h.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_s_xx{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.w.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.w.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_s_xx_m{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.b.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.b.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_s_xx_m{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.h.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.h.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_s_xx_m{(: vs1, vs2 :), (: : vd)},
-    disasm: "vld.w.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.w.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_sp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.sp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.b.sp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ false)";
     vld_h_sp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.sp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.h.sp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_sp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.sp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.w.sp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_sp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.sp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.b.sp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_sp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.sp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.h.sp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_sp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.sp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.w.sp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
     vld_b_tp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.tp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.b.tp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ false)";
     vld_h_tp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.tp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.h.tp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ false)";
     vld_w_tp_xx{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.tp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)",
+      disasm: "vld.w.tp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ false)";
     vld_b_tp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.b.tp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.b.tp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int8_t>,/*strip_mine*/ true)";
     vld_h_tp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.h.tp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.h.tp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int16_t>,/*strip_mine*/ true)";
     vld_w_tp_xx_m{(: vs1, vs2 : vs1), (: : vd)},
-    disasm: "vld.w.tp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)",
+      disasm: "vld.w.tp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVLd<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)",
              "absl::bind_front(&KelvinVLdRegWrite<int32_t>,/*strip_mine*/ true)";
 
     //vst, note `vd` is actually the source vector register, and `vs1` is actually the scaler register.
     vst_b_x{: vd, vs1 :},
-    disasm: "vst.b.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.b.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_h_x{: vd, vs1 :},
-    disasm: "vst.h.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.h.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_w_x{: vd, vs1 :},
-    disasm: "vst.w.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.w.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_b_x_m{: vd, vs1 :},
-    disasm: "vst.b.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.b.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_h_x_m{: vd, vs1 :},
-    disasm: "vst.h.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.h.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_w_x_m{: vd, vs1 :},
-    disasm: "vst.w.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.w.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_b_p_x{: vd, vs1 : vs1},
-    disasm: "vst.b.p.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.b.p.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_h_p_x{: vd, vs1 : vs1},
-    disasm: "vst.h.p.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.h.p.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_w_p_x{: vd, vs1 : vs1},
-    disasm: "vst.w.p.x", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.w.p.x", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_b_p_x_m{: vd, vs1 : vs1},
-    disasm: "vst.b.p.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.b.p.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_h_p_x_m{: vd, vs1 : vs1},
-    disasm: "vst.h.p.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.h.p.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_w_p_x_m{: vd, vs1 : vs1},
-    disasm: "vst.w.p.x.m", "%vd, %vs1",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.w.p.x.m", "%vd, %vs1",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_b_p_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.p.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.b.p.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_h_p_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.p.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.h.p.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_w_p_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.p.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.w.p.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ false)";
     vst_b_p_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.p.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.b.p.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_h_p_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.p.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.h.p.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_w_p_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vld.w.p.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vld.w.p.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ false, /*strip_mine*/ true)";
     vst_b_l_xx{: vd, vs1, vs2 :},
-    disasm: "vst.b.l.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.b.l.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
     vst_h_l_xx{: vd, vs1, vs2 :},
-    disasm: "vst.h.l.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.h.l.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
     vst_w_l_xx{: vd, vs1, vs2 :},
-    disasm: "vst.w.l.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.w.l.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
     vst_b_l_xx_m{: vd, vs1, vs2 :},
-    disasm: "vst.b.l.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.b.l.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
     vst_h_l_xx_m{: vd, vs1, vs2 :},
-    disasm: "vst.h.l.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.h.l.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
     vst_w_l_xx_m{: vd, vs1, vs2 :},
-    disasm: "vst.w.l.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.w.l.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
     vst_b_lp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.lp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.b.lp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
     vst_h_lp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.lp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.h.lp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
     vst_w_lp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.lp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
+      disasm: "vst.w.lp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ false)";
     vst_b_lp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.lp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.b.lp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
     vst_h_lp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.lp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.h.lp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
     vst_w_lp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.lp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
+      disasm: "vst.w.lp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ false, /*strip_mine*/ true)";
     vst_b_s_xx{: vd, vs1, vs2 :},
-    disasm: "vst.b.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.b.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
     vst_h_s_xx{: vd, vs1, vs2 :},
-    disasm: "vst.h.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.h.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
     vst_w_s_xx{: vd, vs1, vs2 :},
-    disasm: "vst.w.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.w.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
     vst_b_s_xx_m{: vd, vs1, vs2 :},
-    disasm: "vst.b.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.b.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
     vst_h_s_xx_m{: vd, vs1, vs2 :},
-    disasm: "vst.h.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.h.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
     vst_w_s_xx_m{: vd, vs1, vs2 :},
-    disasm: "vst.w.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.w.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
     vst_b_sp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.sp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.b.sp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
     vst_h_sp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.sp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.h.sp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
     vst_w_sp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.sp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.w.sp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ false)";
     vst_b_sp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.sp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.b.sp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
     vst_h_sp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.sp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.h.sp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
     vst_w_sp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.sp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.w.sp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ false, /*stride*/ true, /*strip_mine*/ true)";
     vst_b_tp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.tp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.b.tp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)";
     vst_h_tp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.tp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.h.tp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)";
     vst_w_tp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.tp.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)";
+      disasm: "vst.w.tp.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ false)";
     vst_b_tp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.b.tp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.b.tp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int8_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)";
     vst_h_tp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.h.tp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.h.tp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int16_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)";
     vst_w_tp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vst.w.tp.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)";
+      disasm: "vst.w.tp.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVSt<int32_t>, /*len*/ true, /*stride*/ true, /*strip_mine*/ true)";
     vstq_b_s_xx{: vd, vs1, vs2 :},
-    disasm: "vstq.b.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ false)";
+      disasm: "vstq.b.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ false)";
     vstq_h_s_xx{: vd, vs1, vs2 :},
-    disasm: "vstq.h.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ false)";
+      disasm: "vstq.h.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ false)";
     vstq_w_s_xx{: vd, vs1, vs2 :},
-    disasm: "vstq.w.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ false)";
+      disasm: "vstq.w.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ false)";
     vstq_b_sp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vstq.b.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ false)";
+      disasm: "vstq.b.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ false)";
     vstq_h_sp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vstq.h.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ false)";
+      disasm: "vstq.h.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ false)";
     vstq_w_sp_xx{: vd, vs1, vs2 : vs1},
-    disasm: "vstq.w.s.xx", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ false)";
+      disasm: "vstq.w.s.xx", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ false)";
     vstq_b_s_xx_m{: vd, vs1, vs2 :},
-    disasm: "vstq.b.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ true)";
+      disasm: "vstq.b.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ true)";
     vstq_h_s_xx_m{: vd, vs1, vs2 :},
-    disasm: "vstq.h.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ true)";
+      disasm: "vstq.h.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ true)";
     vstq_w_s_xx_m{: vd, vs1, vs2 :},
-    disasm: "vstq.w.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ true)";
+      disasm: "vstq.w.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ true)";
     vstq_b_sp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vstq.b.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ true)";
+      disasm: "vstq.b.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int8_t>, /*strip_mine*/ true)";
     vstq_h_sp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vstq.h.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ true)";
+      disasm: "vstq.h.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int16_t>, /*strip_mine*/ true)";
     vstq_w_sp_xx_m{: vd, vs1, vs2 : vs1},
-    disasm: "vstq.w.s.xx.m", "%vd, %vs1, %vs2",
-    semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ true)";
+      disasm: "vstq.w.s.xx.m", "%vd, %vs1, %vs2",
+      semfunc: "absl::bind_front(&KelvinVStQ<int32_t>, /*strip_mine*/ true)";
 
     // vcget
     vcget{: : vd},
diff --git a/sim/kelvin_state.h b/sim/kelvin_state.h
index 42088cc..ceff045 100644
--- a/sim/kelvin_state.h
+++ b/sim/kelvin_state.h
@@ -17,7 +17,7 @@
 using Instruction = ::mpact::sim::generic::Instruction;
 
 // Default to 256 to match
-// https://spacebeaker.googlesource.com/shodan/experimental-kelvin/+/refs/heads/master/tools/iss/iss.cc#18.
+// https://spacebeaker.googlesource.com/shodan/hw/kelvin/+/refs/heads/master/hdl/chisel/src/kelvin/Parameters.scala#13.
 inline constexpr uint32_t kVectorLengthInBits = 256;
 
 template <typename T>
diff --git a/sim/kelvin_vector_memory_instructions.cc b/sim/kelvin_vector_memory_instructions.cc
index 0941750..9385359 100644
--- a/sim/kelvin_vector_memory_instructions.cc
+++ b/sim/kelvin_vector_memory_instructions.cc
@@ -2,8 +2,6 @@
 
 #include <algorithm>
 #include <cstdint>
-#include <cstdlib>
-#include <functional>
 
 #include "sim/kelvin_state.h"
 #include "absl/types/span.h"
@@ -16,7 +14,6 @@
 
 using mpact::sim::generic::DataBuffer;
 using mpact::sim::generic::GetInstructionSource;
-using mpact::sim::generic::Instruction;
 using mpact::sim::riscv::LoadContext;
 using mpact::sim::riscv::RV32VectorDestinationOperand;
 using mpact::sim::riscv::RV32VectorSourceOperand;