[ml_top/hw] Remove unused ops in Kelvin

HDL change: https://spacebeaker-review.git.corp.google.com/c/shodan/experimental-kelvin/+/41190

Change-Id: Ic346782e7d2b82079930d9399a59ba659a38ae7b
diff --git a/hw/top_matcha/ip/ml_top/rtl/kelvin.v b/hw/top_matcha/ip/ml_top/rtl/kelvin.v
index 227a634..7716dba 100644
--- a/hw/top_matcha/ip/ml_top/rtl/kelvin.v
+++ b/hw/top_matcha/ip/ml_top/rtl/kelvin.v
@@ -1,4 +1,4 @@
-// SHA: f6165200cbad69a5a0351a2f2ea2c8fcd5b60325
+// SHA: e7b7f4fa9cfe97eb44f225ec994e763382b653d3
 module Regfile(
   input         clock,
   input         reset,
@@ -4742,155 +4742,155 @@
   wire [21:0] l0tag1_value_5_0 = l0tag1_value_4_0 | l0tag1_value_4_1; // @[Library.scala 115:37]
   wire  match0 = l0valid0 & instTag0 == l0tag0_value_5_0; // @[Fetch.scala 105:25]
   wire  match1 = l0valid1 & instTag1 == l0tag1_value_5_0; // @[Fetch.scala 106:25]
-  wire  jal_bit = instBits_0[31]; // @[Library.scala 316:23]
-  wire  jal_bit_1 = instBits_0[30]; // @[Library.scala 316:23]
-  wire  jal_bit_2 = instBits_0[29]; // @[Library.scala 316:23]
-  wire  jal_bit_3 = instBits_0[28]; // @[Library.scala 316:23]
-  wire  jal_bit_4 = instBits_0[27]; // @[Library.scala 316:23]
-  wire  jal_bit_5 = instBits_0[26]; // @[Library.scala 316:23]
-  wire  jal_bit_6 = instBits_0[25]; // @[Library.scala 316:23]
-  wire  jal_bit_7 = instBits_0[24]; // @[Library.scala 316:23]
-  wire  jal_bit_8 = instBits_0[23]; // @[Library.scala 316:23]
-  wire  jal_bit_9 = instBits_0[22]; // @[Library.scala 316:23]
-  wire  jal_bit_10 = instBits_0[21]; // @[Library.scala 316:23]
-  wire  jal_bit_11 = instBits_0[20]; // @[Library.scala 316:23]
-  wire  jal_bit_12 = instBits_0[19]; // @[Library.scala 316:23]
-  wire  jal_bit_13 = instBits_0[18]; // @[Library.scala 316:23]
-  wire  jal_bit_14 = instBits_0[17]; // @[Library.scala 316:23]
-  wire  jal_bit_15 = instBits_0[16]; // @[Library.scala 316:23]
-  wire  jal_bit_16 = instBits_0[15]; // @[Library.scala 316:23]
-  wire  jal_bit_17 = instBits_0[14]; // @[Library.scala 316:23]
-  wire  jal_bit_18 = instBits_0[13]; // @[Library.scala 316:23]
-  wire  jal_bit_19 = instBits_0[12]; // @[Library.scala 316:23]
-  wire  jal_bit_20 = instBits_0[11]; // @[Library.scala 316:23]
-  wire  jal_bit_21 = instBits_0[10]; // @[Library.scala 316:23]
-  wire  jal_bit_22 = instBits_0[9]; // @[Library.scala 316:23]
-  wire  jal_bit_23 = instBits_0[8]; // @[Library.scala 316:23]
-  wire  jal_bit_24 = instBits_0[7]; // @[Library.scala 316:23]
-  wire  jal_bit_25 = instBits_0[6]; // @[Library.scala 313:23]
-  wire  jal_bit_26 = instBits_0[5]; // @[Library.scala 313:23]
-  wire  _jal_T_1 = jal_bit_25 & jal_bit_26; // @[Library.scala 314:48]
-  wire  jal_bit_27 = ~instBits_0[4]; // @[Library.scala 310:19]
-  wire  _jal_T_2 = _jal_T_1 & jal_bit_27; // @[Library.scala 311:48]
-  wire  jal_bit_28 = instBits_0[3]; // @[Library.scala 313:23]
-  wire  jal_bit_29 = instBits_0[2]; // @[Library.scala 313:23]
-  wire  jal_bit_30 = instBits_0[1]; // @[Library.scala 313:23]
-  wire  jal_bit_31 = instBits_0[0]; // @[Library.scala 313:23]
-  wire  preBranchTaken0 = _jal_T_2 & jal_bit_28 & jal_bit_29 & jal_bit_30 & jal_bit_31; // @[Library.scala 314:48]
+  wire  jal_bit = instBits_0[31]; // @[Library.scala 318:23]
+  wire  jal_bit_1 = instBits_0[30]; // @[Library.scala 318:23]
+  wire  jal_bit_2 = instBits_0[29]; // @[Library.scala 318:23]
+  wire  jal_bit_3 = instBits_0[28]; // @[Library.scala 318:23]
+  wire  jal_bit_4 = instBits_0[27]; // @[Library.scala 318:23]
+  wire  jal_bit_5 = instBits_0[26]; // @[Library.scala 318:23]
+  wire  jal_bit_6 = instBits_0[25]; // @[Library.scala 318:23]
+  wire  jal_bit_7 = instBits_0[24]; // @[Library.scala 318:23]
+  wire  jal_bit_8 = instBits_0[23]; // @[Library.scala 318:23]
+  wire  jal_bit_9 = instBits_0[22]; // @[Library.scala 318:23]
+  wire  jal_bit_10 = instBits_0[21]; // @[Library.scala 318:23]
+  wire  jal_bit_11 = instBits_0[20]; // @[Library.scala 318:23]
+  wire  jal_bit_12 = instBits_0[19]; // @[Library.scala 318:23]
+  wire  jal_bit_13 = instBits_0[18]; // @[Library.scala 318:23]
+  wire  jal_bit_14 = instBits_0[17]; // @[Library.scala 318:23]
+  wire  jal_bit_15 = instBits_0[16]; // @[Library.scala 318:23]
+  wire  jal_bit_16 = instBits_0[15]; // @[Library.scala 318:23]
+  wire  jal_bit_17 = instBits_0[14]; // @[Library.scala 318:23]
+  wire  jal_bit_18 = instBits_0[13]; // @[Library.scala 318:23]
+  wire  jal_bit_19 = instBits_0[12]; // @[Library.scala 318:23]
+  wire  jal_bit_20 = instBits_0[11]; // @[Library.scala 318:23]
+  wire  jal_bit_21 = instBits_0[10]; // @[Library.scala 318:23]
+  wire  jal_bit_22 = instBits_0[9]; // @[Library.scala 318:23]
+  wire  jal_bit_23 = instBits_0[8]; // @[Library.scala 318:23]
+  wire  jal_bit_24 = instBits_0[7]; // @[Library.scala 318:23]
+  wire  jal_bit_25 = instBits_0[6]; // @[Library.scala 315:23]
+  wire  jal_bit_26 = instBits_0[5]; // @[Library.scala 315:23]
+  wire  _jal_T_1 = jal_bit_25 & jal_bit_26; // @[Library.scala 316:48]
+  wire  jal_bit_27 = ~instBits_0[4]; // @[Library.scala 312:19]
+  wire  _jal_T_2 = _jal_T_1 & jal_bit_27; // @[Library.scala 313:48]
+  wire  jal_bit_28 = instBits_0[3]; // @[Library.scala 315:23]
+  wire  jal_bit_29 = instBits_0[2]; // @[Library.scala 315:23]
+  wire  jal_bit_30 = instBits_0[1]; // @[Library.scala 315:23]
+  wire  jal_bit_31 = instBits_0[0]; // @[Library.scala 315:23]
+  wire  preBranchTaken0 = _jal_T_2 & jal_bit_28 & jal_bit_29 & jal_bit_30 & jal_bit_31; // @[Library.scala 316:48]
   wire [11:0] _immed_T_2 = jal_bit ? 12'hfff : 12'h0; // @[Bitwise.scala 74:12]
   wire [31:0] immed = {_immed_T_2,instBits_0[19:12],jal_bit_11,instBits_0[30:21],1'h0}; // @[Cat.scala 31:58]
   wire [31:0] preBranchTarget0 = instAddr_0 + immed; // @[Fetch.scala 114:23]
-  wire  jal_bit_32 = instBits_1[31]; // @[Library.scala 316:23]
-  wire  jal_bit_33 = instBits_1[30]; // @[Library.scala 316:23]
-  wire  jal_bit_34 = instBits_1[29]; // @[Library.scala 316:23]
-  wire  jal_bit_35 = instBits_1[28]; // @[Library.scala 316:23]
-  wire  jal_bit_36 = instBits_1[27]; // @[Library.scala 316:23]
-  wire  jal_bit_37 = instBits_1[26]; // @[Library.scala 316:23]
-  wire  jal_bit_38 = instBits_1[25]; // @[Library.scala 316:23]
-  wire  jal_bit_39 = instBits_1[24]; // @[Library.scala 316:23]
-  wire  jal_bit_40 = instBits_1[23]; // @[Library.scala 316:23]
-  wire  jal_bit_41 = instBits_1[22]; // @[Library.scala 316:23]
-  wire  jal_bit_42 = instBits_1[21]; // @[Library.scala 316:23]
-  wire  jal_bit_43 = instBits_1[20]; // @[Library.scala 316:23]
-  wire  jal_bit_44 = instBits_1[19]; // @[Library.scala 316:23]
-  wire  jal_bit_45 = instBits_1[18]; // @[Library.scala 316:23]
-  wire  jal_bit_46 = instBits_1[17]; // @[Library.scala 316:23]
-  wire  jal_bit_47 = instBits_1[16]; // @[Library.scala 316:23]
-  wire  jal_bit_48 = instBits_1[15]; // @[Library.scala 316:23]
-  wire  jal_bit_49 = instBits_1[14]; // @[Library.scala 316:23]
-  wire  jal_bit_50 = instBits_1[13]; // @[Library.scala 316:23]
-  wire  jal_bit_51 = instBits_1[12]; // @[Library.scala 316:23]
-  wire  jal_bit_52 = instBits_1[11]; // @[Library.scala 316:23]
-  wire  jal_bit_53 = instBits_1[10]; // @[Library.scala 316:23]
-  wire  jal_bit_54 = instBits_1[9]; // @[Library.scala 316:23]
-  wire  jal_bit_55 = instBits_1[8]; // @[Library.scala 316:23]
-  wire  jal_bit_56 = instBits_1[7]; // @[Library.scala 316:23]
-  wire  jal_bit_57 = instBits_1[6]; // @[Library.scala 313:23]
-  wire  jal_bit_58 = instBits_1[5]; // @[Library.scala 313:23]
-  wire  _jal_T_7 = jal_bit_57 & jal_bit_58; // @[Library.scala 314:48]
-  wire  jal_bit_59 = ~instBits_1[4]; // @[Library.scala 310:19]
-  wire  _jal_T_8 = _jal_T_7 & jal_bit_59; // @[Library.scala 311:48]
-  wire  jal_bit_60 = instBits_1[3]; // @[Library.scala 313:23]
-  wire  jal_bit_61 = instBits_1[2]; // @[Library.scala 313:23]
-  wire  jal_bit_62 = instBits_1[1]; // @[Library.scala 313:23]
-  wire  jal_bit_63 = instBits_1[0]; // @[Library.scala 313:23]
-  wire  preBranchTaken1 = _jal_T_8 & jal_bit_60 & jal_bit_61 & jal_bit_62 & jal_bit_63; // @[Library.scala 314:48]
+  wire  jal_bit_32 = instBits_1[31]; // @[Library.scala 318:23]
+  wire  jal_bit_33 = instBits_1[30]; // @[Library.scala 318:23]
+  wire  jal_bit_34 = instBits_1[29]; // @[Library.scala 318:23]
+  wire  jal_bit_35 = instBits_1[28]; // @[Library.scala 318:23]
+  wire  jal_bit_36 = instBits_1[27]; // @[Library.scala 318:23]
+  wire  jal_bit_37 = instBits_1[26]; // @[Library.scala 318:23]
+  wire  jal_bit_38 = instBits_1[25]; // @[Library.scala 318:23]
+  wire  jal_bit_39 = instBits_1[24]; // @[Library.scala 318:23]
+  wire  jal_bit_40 = instBits_1[23]; // @[Library.scala 318:23]
+  wire  jal_bit_41 = instBits_1[22]; // @[Library.scala 318:23]
+  wire  jal_bit_42 = instBits_1[21]; // @[Library.scala 318:23]
+  wire  jal_bit_43 = instBits_1[20]; // @[Library.scala 318:23]
+  wire  jal_bit_44 = instBits_1[19]; // @[Library.scala 318:23]
+  wire  jal_bit_45 = instBits_1[18]; // @[Library.scala 318:23]
+  wire  jal_bit_46 = instBits_1[17]; // @[Library.scala 318:23]
+  wire  jal_bit_47 = instBits_1[16]; // @[Library.scala 318:23]
+  wire  jal_bit_48 = instBits_1[15]; // @[Library.scala 318:23]
+  wire  jal_bit_49 = instBits_1[14]; // @[Library.scala 318:23]
+  wire  jal_bit_50 = instBits_1[13]; // @[Library.scala 318:23]
+  wire  jal_bit_51 = instBits_1[12]; // @[Library.scala 318:23]
+  wire  jal_bit_52 = instBits_1[11]; // @[Library.scala 318:23]
+  wire  jal_bit_53 = instBits_1[10]; // @[Library.scala 318:23]
+  wire  jal_bit_54 = instBits_1[9]; // @[Library.scala 318:23]
+  wire  jal_bit_55 = instBits_1[8]; // @[Library.scala 318:23]
+  wire  jal_bit_56 = instBits_1[7]; // @[Library.scala 318:23]
+  wire  jal_bit_57 = instBits_1[6]; // @[Library.scala 315:23]
+  wire  jal_bit_58 = instBits_1[5]; // @[Library.scala 315:23]
+  wire  _jal_T_7 = jal_bit_57 & jal_bit_58; // @[Library.scala 316:48]
+  wire  jal_bit_59 = ~instBits_1[4]; // @[Library.scala 312:19]
+  wire  _jal_T_8 = _jal_T_7 & jal_bit_59; // @[Library.scala 313:48]
+  wire  jal_bit_60 = instBits_1[3]; // @[Library.scala 315:23]
+  wire  jal_bit_61 = instBits_1[2]; // @[Library.scala 315:23]
+  wire  jal_bit_62 = instBits_1[1]; // @[Library.scala 315:23]
+  wire  jal_bit_63 = instBits_1[0]; // @[Library.scala 315:23]
+  wire  preBranchTaken1 = _jal_T_8 & jal_bit_60 & jal_bit_61 & jal_bit_62 & jal_bit_63; // @[Library.scala 316:48]
   wire [11:0] _immed_T_8 = jal_bit_32 ? 12'hfff : 12'h0; // @[Bitwise.scala 74:12]
   wire [31:0] immed_1 = {_immed_T_8,instBits_1[19:12],jal_bit_43,instBits_1[30:21],1'h0}; // @[Cat.scala 31:58]
   wire [31:0] preBranchTarget1 = instAddr_1 + immed_1; // @[Fetch.scala 114:23]
-  wire  jal_bit_64 = instBits_2[31]; // @[Library.scala 316:23]
-  wire  jal_bit_65 = instBits_2[30]; // @[Library.scala 316:23]
-  wire  jal_bit_66 = instBits_2[29]; // @[Library.scala 316:23]
-  wire  jal_bit_67 = instBits_2[28]; // @[Library.scala 316:23]
-  wire  jal_bit_68 = instBits_2[27]; // @[Library.scala 316:23]
-  wire  jal_bit_69 = instBits_2[26]; // @[Library.scala 316:23]
-  wire  jal_bit_70 = instBits_2[25]; // @[Library.scala 316:23]
-  wire  jal_bit_71 = instBits_2[24]; // @[Library.scala 316:23]
-  wire  jal_bit_72 = instBits_2[23]; // @[Library.scala 316:23]
-  wire  jal_bit_73 = instBits_2[22]; // @[Library.scala 316:23]
-  wire  jal_bit_74 = instBits_2[21]; // @[Library.scala 316:23]
-  wire  jal_bit_75 = instBits_2[20]; // @[Library.scala 316:23]
-  wire  jal_bit_76 = instBits_2[19]; // @[Library.scala 316:23]
-  wire  jal_bit_77 = instBits_2[18]; // @[Library.scala 316:23]
-  wire  jal_bit_78 = instBits_2[17]; // @[Library.scala 316:23]
-  wire  jal_bit_79 = instBits_2[16]; // @[Library.scala 316:23]
-  wire  jal_bit_80 = instBits_2[15]; // @[Library.scala 316:23]
-  wire  jal_bit_81 = instBits_2[14]; // @[Library.scala 316:23]
-  wire  jal_bit_82 = instBits_2[13]; // @[Library.scala 316:23]
-  wire  jal_bit_83 = instBits_2[12]; // @[Library.scala 316:23]
-  wire  jal_bit_84 = instBits_2[11]; // @[Library.scala 316:23]
-  wire  jal_bit_85 = instBits_2[10]; // @[Library.scala 316:23]
-  wire  jal_bit_86 = instBits_2[9]; // @[Library.scala 316:23]
-  wire  jal_bit_87 = instBits_2[8]; // @[Library.scala 316:23]
-  wire  jal_bit_88 = instBits_2[7]; // @[Library.scala 316:23]
-  wire  jal_bit_89 = instBits_2[6]; // @[Library.scala 313:23]
-  wire  jal_bit_90 = instBits_2[5]; // @[Library.scala 313:23]
-  wire  _jal_T_13 = jal_bit_89 & jal_bit_90; // @[Library.scala 314:48]
-  wire  jal_bit_91 = ~instBits_2[4]; // @[Library.scala 310:19]
-  wire  _jal_T_14 = _jal_T_13 & jal_bit_91; // @[Library.scala 311:48]
-  wire  jal_bit_92 = instBits_2[3]; // @[Library.scala 313:23]
-  wire  jal_bit_93 = instBits_2[2]; // @[Library.scala 313:23]
-  wire  jal_bit_94 = instBits_2[1]; // @[Library.scala 313:23]
-  wire  jal_bit_95 = instBits_2[0]; // @[Library.scala 313:23]
-  wire  preBranchTaken2 = _jal_T_14 & jal_bit_92 & jal_bit_93 & jal_bit_94 & jal_bit_95; // @[Library.scala 314:48]
+  wire  jal_bit_64 = instBits_2[31]; // @[Library.scala 318:23]
+  wire  jal_bit_65 = instBits_2[30]; // @[Library.scala 318:23]
+  wire  jal_bit_66 = instBits_2[29]; // @[Library.scala 318:23]
+  wire  jal_bit_67 = instBits_2[28]; // @[Library.scala 318:23]
+  wire  jal_bit_68 = instBits_2[27]; // @[Library.scala 318:23]
+  wire  jal_bit_69 = instBits_2[26]; // @[Library.scala 318:23]
+  wire  jal_bit_70 = instBits_2[25]; // @[Library.scala 318:23]
+  wire  jal_bit_71 = instBits_2[24]; // @[Library.scala 318:23]
+  wire  jal_bit_72 = instBits_2[23]; // @[Library.scala 318:23]
+  wire  jal_bit_73 = instBits_2[22]; // @[Library.scala 318:23]
+  wire  jal_bit_74 = instBits_2[21]; // @[Library.scala 318:23]
+  wire  jal_bit_75 = instBits_2[20]; // @[Library.scala 318:23]
+  wire  jal_bit_76 = instBits_2[19]; // @[Library.scala 318:23]
+  wire  jal_bit_77 = instBits_2[18]; // @[Library.scala 318:23]
+  wire  jal_bit_78 = instBits_2[17]; // @[Library.scala 318:23]
+  wire  jal_bit_79 = instBits_2[16]; // @[Library.scala 318:23]
+  wire  jal_bit_80 = instBits_2[15]; // @[Library.scala 318:23]
+  wire  jal_bit_81 = instBits_2[14]; // @[Library.scala 318:23]
+  wire  jal_bit_82 = instBits_2[13]; // @[Library.scala 318:23]
+  wire  jal_bit_83 = instBits_2[12]; // @[Library.scala 318:23]
+  wire  jal_bit_84 = instBits_2[11]; // @[Library.scala 318:23]
+  wire  jal_bit_85 = instBits_2[10]; // @[Library.scala 318:23]
+  wire  jal_bit_86 = instBits_2[9]; // @[Library.scala 318:23]
+  wire  jal_bit_87 = instBits_2[8]; // @[Library.scala 318:23]
+  wire  jal_bit_88 = instBits_2[7]; // @[Library.scala 318:23]
+  wire  jal_bit_89 = instBits_2[6]; // @[Library.scala 315:23]
+  wire  jal_bit_90 = instBits_2[5]; // @[Library.scala 315:23]
+  wire  _jal_T_13 = jal_bit_89 & jal_bit_90; // @[Library.scala 316:48]
+  wire  jal_bit_91 = ~instBits_2[4]; // @[Library.scala 312:19]
+  wire  _jal_T_14 = _jal_T_13 & jal_bit_91; // @[Library.scala 313:48]
+  wire  jal_bit_92 = instBits_2[3]; // @[Library.scala 315:23]
+  wire  jal_bit_93 = instBits_2[2]; // @[Library.scala 315:23]
+  wire  jal_bit_94 = instBits_2[1]; // @[Library.scala 315:23]
+  wire  jal_bit_95 = instBits_2[0]; // @[Library.scala 315:23]
+  wire  preBranchTaken2 = _jal_T_14 & jal_bit_92 & jal_bit_93 & jal_bit_94 & jal_bit_95; // @[Library.scala 316:48]
   wire [11:0] _immed_T_14 = jal_bit_64 ? 12'hfff : 12'h0; // @[Bitwise.scala 74:12]
   wire [31:0] immed_2 = {_immed_T_14,instBits_2[19:12],jal_bit_75,instBits_2[30:21],1'h0}; // @[Cat.scala 31:58]
   wire [31:0] preBranchTarget2 = instAddr_2 + immed_2; // @[Fetch.scala 114:23]
-  wire  jal_bit_96 = instBits_3[31]; // @[Library.scala 316:23]
-  wire  jal_bit_97 = instBits_3[30]; // @[Library.scala 316:23]
-  wire  jal_bit_98 = instBits_3[29]; // @[Library.scala 316:23]
-  wire  jal_bit_99 = instBits_3[28]; // @[Library.scala 316:23]
-  wire  jal_bit_100 = instBits_3[27]; // @[Library.scala 316:23]
-  wire  jal_bit_101 = instBits_3[26]; // @[Library.scala 316:23]
-  wire  jal_bit_102 = instBits_3[25]; // @[Library.scala 316:23]
-  wire  jal_bit_103 = instBits_3[24]; // @[Library.scala 316:23]
-  wire  jal_bit_104 = instBits_3[23]; // @[Library.scala 316:23]
-  wire  jal_bit_105 = instBits_3[22]; // @[Library.scala 316:23]
-  wire  jal_bit_106 = instBits_3[21]; // @[Library.scala 316:23]
-  wire  jal_bit_107 = instBits_3[20]; // @[Library.scala 316:23]
-  wire  jal_bit_108 = instBits_3[19]; // @[Library.scala 316:23]
-  wire  jal_bit_109 = instBits_3[18]; // @[Library.scala 316:23]
-  wire  jal_bit_110 = instBits_3[17]; // @[Library.scala 316:23]
-  wire  jal_bit_111 = instBits_3[16]; // @[Library.scala 316:23]
-  wire  jal_bit_112 = instBits_3[15]; // @[Library.scala 316:23]
-  wire  jal_bit_113 = instBits_3[14]; // @[Library.scala 316:23]
-  wire  jal_bit_114 = instBits_3[13]; // @[Library.scala 316:23]
-  wire  jal_bit_115 = instBits_3[12]; // @[Library.scala 316:23]
-  wire  jal_bit_116 = instBits_3[11]; // @[Library.scala 316:23]
-  wire  jal_bit_117 = instBits_3[10]; // @[Library.scala 316:23]
-  wire  jal_bit_118 = instBits_3[9]; // @[Library.scala 316:23]
-  wire  jal_bit_119 = instBits_3[8]; // @[Library.scala 316:23]
-  wire  jal_bit_120 = instBits_3[7]; // @[Library.scala 316:23]
-  wire  jal_bit_121 = instBits_3[6]; // @[Library.scala 313:23]
-  wire  jal_bit_122 = instBits_3[5]; // @[Library.scala 313:23]
-  wire  _jal_T_19 = jal_bit_121 & jal_bit_122; // @[Library.scala 314:48]
-  wire  jal_bit_123 = ~instBits_3[4]; // @[Library.scala 310:19]
-  wire  _jal_T_20 = _jal_T_19 & jal_bit_123; // @[Library.scala 311:48]
-  wire  jal_bit_124 = instBits_3[3]; // @[Library.scala 313:23]
-  wire  jal_bit_125 = instBits_3[2]; // @[Library.scala 313:23]
-  wire  jal_bit_126 = instBits_3[1]; // @[Library.scala 313:23]
-  wire  jal_bit_127 = instBits_3[0]; // @[Library.scala 313:23]
-  wire  preBranchTaken3 = _jal_T_20 & jal_bit_124 & jal_bit_125 & jal_bit_126 & jal_bit_127; // @[Library.scala 314:48]
+  wire  jal_bit_96 = instBits_3[31]; // @[Library.scala 318:23]
+  wire  jal_bit_97 = instBits_3[30]; // @[Library.scala 318:23]
+  wire  jal_bit_98 = instBits_3[29]; // @[Library.scala 318:23]
+  wire  jal_bit_99 = instBits_3[28]; // @[Library.scala 318:23]
+  wire  jal_bit_100 = instBits_3[27]; // @[Library.scala 318:23]
+  wire  jal_bit_101 = instBits_3[26]; // @[Library.scala 318:23]
+  wire  jal_bit_102 = instBits_3[25]; // @[Library.scala 318:23]
+  wire  jal_bit_103 = instBits_3[24]; // @[Library.scala 318:23]
+  wire  jal_bit_104 = instBits_3[23]; // @[Library.scala 318:23]
+  wire  jal_bit_105 = instBits_3[22]; // @[Library.scala 318:23]
+  wire  jal_bit_106 = instBits_3[21]; // @[Library.scala 318:23]
+  wire  jal_bit_107 = instBits_3[20]; // @[Library.scala 318:23]
+  wire  jal_bit_108 = instBits_3[19]; // @[Library.scala 318:23]
+  wire  jal_bit_109 = instBits_3[18]; // @[Library.scala 318:23]
+  wire  jal_bit_110 = instBits_3[17]; // @[Library.scala 318:23]
+  wire  jal_bit_111 = instBits_3[16]; // @[Library.scala 318:23]
+  wire  jal_bit_112 = instBits_3[15]; // @[Library.scala 318:23]
+  wire  jal_bit_113 = instBits_3[14]; // @[Library.scala 318:23]
+  wire  jal_bit_114 = instBits_3[13]; // @[Library.scala 318:23]
+  wire  jal_bit_115 = instBits_3[12]; // @[Library.scala 318:23]
+  wire  jal_bit_116 = instBits_3[11]; // @[Library.scala 318:23]
+  wire  jal_bit_117 = instBits_3[10]; // @[Library.scala 318:23]
+  wire  jal_bit_118 = instBits_3[9]; // @[Library.scala 318:23]
+  wire  jal_bit_119 = instBits_3[8]; // @[Library.scala 318:23]
+  wire  jal_bit_120 = instBits_3[7]; // @[Library.scala 318:23]
+  wire  jal_bit_121 = instBits_3[6]; // @[Library.scala 315:23]
+  wire  jal_bit_122 = instBits_3[5]; // @[Library.scala 315:23]
+  wire  _jal_T_19 = jal_bit_121 & jal_bit_122; // @[Library.scala 316:48]
+  wire  jal_bit_123 = ~instBits_3[4]; // @[Library.scala 312:19]
+  wire  _jal_T_20 = _jal_T_19 & jal_bit_123; // @[Library.scala 313:48]
+  wire  jal_bit_124 = instBits_3[3]; // @[Library.scala 315:23]
+  wire  jal_bit_125 = instBits_3[2]; // @[Library.scala 315:23]
+  wire  jal_bit_126 = instBits_3[1]; // @[Library.scala 315:23]
+  wire  jal_bit_127 = instBits_3[0]; // @[Library.scala 315:23]
+  wire  preBranchTaken3 = _jal_T_20 & jal_bit_124 & jal_bit_125 & jal_bit_126 & jal_bit_127; // @[Library.scala 316:48]
   wire [11:0] _immed_T_20 = jal_bit_96 ? 12'hfff : 12'h0; // @[Bitwise.scala 74:12]
   wire [31:0] immed_3 = {_immed_T_20,instBits_3[19:12],jal_bit_107,instBits_3[30:21],1'h0}; // @[Cat.scala 31:58]
   wire [31:0] preBranchTarget3 = instAddr_3 + immed_3; // @[Fetch.scala 114:23]
@@ -5491,43 +5491,43 @@
   wire [31:0] nxtInstBits_14 = nxtInstBits1[223:192]; // @[Fetch.scala 308:39]
   wire [31:0] nxtInstBits_7 = nxtInstBits0[255:224]; // @[Fetch.scala 307:39]
   wire [31:0] nxtInstBits_15 = nxtInstBits1[255:224]; // @[Fetch.scala 308:39]
-  wire  ret_bit = ~jal_bit; // @[Library.scala 310:19]
-  wire  ret_bit_1 = ~jal_bit_1; // @[Library.scala 310:19]
-  wire  ret_bit_2 = ~jal_bit_2; // @[Library.scala 310:19]
-  wire  ret_bit_3 = ~jal_bit_3; // @[Library.scala 310:19]
-  wire  ret_bit_4 = ~jal_bit_4; // @[Library.scala 310:19]
-  wire  ret_bit_5 = ~jal_bit_5; // @[Library.scala 310:19]
-  wire  ret_bit_6 = ~jal_bit_6; // @[Library.scala 310:19]
-  wire  ret_bit_7 = ~jal_bit_7; // @[Library.scala 310:19]
-  wire  ret_bit_8 = ~jal_bit_8; // @[Library.scala 310:19]
-  wire  ret_bit_9 = ~jal_bit_9; // @[Library.scala 310:19]
-  wire  ret_bit_10 = ~jal_bit_10; // @[Library.scala 310:19]
-  wire  ret_bit_11 = ~jal_bit_11; // @[Library.scala 310:19]
-  wire  ret_bit_12 = ~jal_bit_12; // @[Library.scala 310:19]
-  wire  ret_bit_13 = ~jal_bit_13; // @[Library.scala 310:19]
-  wire  ret_bit_14 = ~jal_bit_14; // @[Library.scala 310:19]
-  wire  ret_bit_15 = ~jal_bit_15; // @[Library.scala 310:19]
+  wire  ret_bit = ~jal_bit; // @[Library.scala 312:19]
+  wire  ret_bit_1 = ~jal_bit_1; // @[Library.scala 312:19]
+  wire  ret_bit_2 = ~jal_bit_2; // @[Library.scala 312:19]
+  wire  ret_bit_3 = ~jal_bit_3; // @[Library.scala 312:19]
+  wire  ret_bit_4 = ~jal_bit_4; // @[Library.scala 312:19]
+  wire  ret_bit_5 = ~jal_bit_5; // @[Library.scala 312:19]
+  wire  ret_bit_6 = ~jal_bit_6; // @[Library.scala 312:19]
+  wire  ret_bit_7 = ~jal_bit_7; // @[Library.scala 312:19]
+  wire  ret_bit_8 = ~jal_bit_8; // @[Library.scala 312:19]
+  wire  ret_bit_9 = ~jal_bit_9; // @[Library.scala 312:19]
+  wire  ret_bit_10 = ~jal_bit_10; // @[Library.scala 312:19]
+  wire  ret_bit_11 = ~jal_bit_11; // @[Library.scala 312:19]
+  wire  ret_bit_12 = ~jal_bit_12; // @[Library.scala 312:19]
+  wire  ret_bit_13 = ~jal_bit_13; // @[Library.scala 312:19]
+  wire  ret_bit_14 = ~jal_bit_14; // @[Library.scala 312:19]
+  wire  ret_bit_15 = ~jal_bit_15; // @[Library.scala 312:19]
   wire  _ret_T_15 = ret_bit & ret_bit_1 & ret_bit_2 & ret_bit_3 & ret_bit_4 & ret_bit_5 & ret_bit_6 & ret_bit_7 &
-    ret_bit_8 & ret_bit_9 & ret_bit_10 & ret_bit_11 & ret_bit_12 & ret_bit_13 & ret_bit_14 & ret_bit_15; // @[Library.scala 311:48]
-  wire  _ret_T_16 = _ret_T_15 & jal_bit_16; // @[Library.scala 314:48]
-  wire  ret_bit_17 = ~jal_bit_17; // @[Library.scala 310:19]
-  wire  ret_bit_18 = ~jal_bit_18; // @[Library.scala 310:19]
-  wire  ret_bit_19 = ~jal_bit_19; // @[Library.scala 310:19]
-  wire  ret_bit_20 = ~jal_bit_20; // @[Library.scala 310:19]
-  wire  ret_bit_21 = ~jal_bit_21; // @[Library.scala 310:19]
-  wire  ret_bit_22 = ~jal_bit_22; // @[Library.scala 310:19]
-  wire  ret_bit_23 = ~jal_bit_23; // @[Library.scala 310:19]
-  wire  ret_bit_24 = ~jal_bit_24; // @[Library.scala 310:19]
+    ret_bit_8 & ret_bit_9 & ret_bit_10 & ret_bit_11 & ret_bit_12 & ret_bit_13 & ret_bit_14 & ret_bit_15; // @[Library.scala 313:48]
+  wire  _ret_T_16 = _ret_T_15 & jal_bit_16; // @[Library.scala 316:48]
+  wire  ret_bit_17 = ~jal_bit_17; // @[Library.scala 312:19]
+  wire  ret_bit_18 = ~jal_bit_18; // @[Library.scala 312:19]
+  wire  ret_bit_19 = ~jal_bit_19; // @[Library.scala 312:19]
+  wire  ret_bit_20 = ~jal_bit_20; // @[Library.scala 312:19]
+  wire  ret_bit_21 = ~jal_bit_21; // @[Library.scala 312:19]
+  wire  ret_bit_22 = ~jal_bit_22; // @[Library.scala 312:19]
+  wire  ret_bit_23 = ~jal_bit_23; // @[Library.scala 312:19]
+  wire  ret_bit_24 = ~jal_bit_24; // @[Library.scala 312:19]
   wire  _ret_T_24 = _ret_T_16 & ret_bit_17 & ret_bit_18 & ret_bit_19 & ret_bit_20 & ret_bit_21 & ret_bit_22 & ret_bit_23
-     & ret_bit_24; // @[Library.scala 311:48]
-  wire  _ret_T_26 = _ret_T_24 & jal_bit_25 & jal_bit_26; // @[Library.scala 314:48]
-  wire  ret_bit_28 = ~jal_bit_28; // @[Library.scala 310:19]
-  wire  _ret_T_28 = _ret_T_26 & jal_bit_27 & ret_bit_28; // @[Library.scala 311:48]
-  wire  _ret_T_31 = _ret_T_28 & jal_bit_29 & jal_bit_30 & jal_bit_31; // @[Library.scala 314:48]
+     & ret_bit_24; // @[Library.scala 313:48]
+  wire  _ret_T_26 = _ret_T_24 & jal_bit_25 & jal_bit_26; // @[Library.scala 316:48]
+  wire  ret_bit_28 = ~jal_bit_28; // @[Library.scala 312:19]
+  wire  _ret_T_28 = _ret_T_26 & jal_bit_27 & ret_bit_28; // @[Library.scala 313:48]
+  wire  _ret_T_31 = _ret_T_28 & jal_bit_29 & jal_bit_30 & jal_bit_31; // @[Library.scala 316:48]
   wire  ret = _ret_T_31 & io_linkPort_valid; // @[Fetch.scala 401:70]
-  wire  bxx_bit_29 = ~jal_bit_29; // @[Library.scala 310:19]
-  wire  _bxx_T_4 = _jal_T_1 & jal_bit_27 & ret_bit_28 & bxx_bit_29; // @[Library.scala 311:48]
-  wire  _bxx_T_6 = _bxx_T_4 & jal_bit_30 & jal_bit_31; // @[Library.scala 314:48]
+  wire  bxx_bit_29 = ~jal_bit_29; // @[Library.scala 312:19]
+  wire  _bxx_T_4 = _jal_T_1 & jal_bit_27 & ret_bit_28 & bxx_bit_29; // @[Library.scala 313:48]
+  wire  _bxx_T_6 = _bxx_T_4 & jal_bit_30 & jal_bit_31; // @[Library.scala 316:48]
   wire  _bxx_T_8 = _bxx_T_6 & jal_bit; // @[Fetch.scala 403:71]
   wire  bxx = _bxx_T_8 & instBits_0[14:13] != 2'h1; // @[Fetch.scala 404:24]
   wire [19:0] _immbxx_T_2 = jal_bit ? 20'hfffff : 20'h0; // @[Bitwise.scala 74:12]
@@ -5536,43 +5536,43 @@
   wire [31:0] _target_T_5 = instAddr_0 + immed_4; // @[Fetch.scala 408:51]
   wire [31:0] brchTargetDe0 = ret ? io_linkPort_value : _target_T_5; // @[Fetch.scala 408:21]
   wire  brchTakenDe0 = preBranchTaken0 | ret | bxx; // @[Fetch.scala 409:17]
-  wire  ret_bit_32 = ~jal_bit_32; // @[Library.scala 310:19]
-  wire  ret_bit_33 = ~jal_bit_33; // @[Library.scala 310:19]
-  wire  ret_bit_34 = ~jal_bit_34; // @[Library.scala 310:19]
-  wire  ret_bit_35 = ~jal_bit_35; // @[Library.scala 310:19]
-  wire  ret_bit_36 = ~jal_bit_36; // @[Library.scala 310:19]
-  wire  ret_bit_37 = ~jal_bit_37; // @[Library.scala 310:19]
-  wire  ret_bit_38 = ~jal_bit_38; // @[Library.scala 310:19]
-  wire  ret_bit_39 = ~jal_bit_39; // @[Library.scala 310:19]
-  wire  ret_bit_40 = ~jal_bit_40; // @[Library.scala 310:19]
-  wire  ret_bit_41 = ~jal_bit_41; // @[Library.scala 310:19]
-  wire  ret_bit_42 = ~jal_bit_42; // @[Library.scala 310:19]
-  wire  ret_bit_43 = ~jal_bit_43; // @[Library.scala 310:19]
-  wire  ret_bit_44 = ~jal_bit_44; // @[Library.scala 310:19]
-  wire  ret_bit_45 = ~jal_bit_45; // @[Library.scala 310:19]
-  wire  ret_bit_46 = ~jal_bit_46; // @[Library.scala 310:19]
-  wire  ret_bit_47 = ~jal_bit_47; // @[Library.scala 310:19]
+  wire  ret_bit_32 = ~jal_bit_32; // @[Library.scala 312:19]
+  wire  ret_bit_33 = ~jal_bit_33; // @[Library.scala 312:19]
+  wire  ret_bit_34 = ~jal_bit_34; // @[Library.scala 312:19]
+  wire  ret_bit_35 = ~jal_bit_35; // @[Library.scala 312:19]
+  wire  ret_bit_36 = ~jal_bit_36; // @[Library.scala 312:19]
+  wire  ret_bit_37 = ~jal_bit_37; // @[Library.scala 312:19]
+  wire  ret_bit_38 = ~jal_bit_38; // @[Library.scala 312:19]
+  wire  ret_bit_39 = ~jal_bit_39; // @[Library.scala 312:19]
+  wire  ret_bit_40 = ~jal_bit_40; // @[Library.scala 312:19]
+  wire  ret_bit_41 = ~jal_bit_41; // @[Library.scala 312:19]
+  wire  ret_bit_42 = ~jal_bit_42; // @[Library.scala 312:19]
+  wire  ret_bit_43 = ~jal_bit_43; // @[Library.scala 312:19]
+  wire  ret_bit_44 = ~jal_bit_44; // @[Library.scala 312:19]
+  wire  ret_bit_45 = ~jal_bit_45; // @[Library.scala 312:19]
+  wire  ret_bit_46 = ~jal_bit_46; // @[Library.scala 312:19]
+  wire  ret_bit_47 = ~jal_bit_47; // @[Library.scala 312:19]
   wire  _ret_T_47 = ret_bit_32 & ret_bit_33 & ret_bit_34 & ret_bit_35 & ret_bit_36 & ret_bit_37 & ret_bit_38 &
-    ret_bit_39 & ret_bit_40 & ret_bit_41 & ret_bit_42 & ret_bit_43 & ret_bit_44 & ret_bit_45 & ret_bit_46 & ret_bit_47; // @[Library.scala 311:48]
-  wire  _ret_T_48 = _ret_T_47 & jal_bit_48; // @[Library.scala 314:48]
-  wire  ret_bit_49 = ~jal_bit_49; // @[Library.scala 310:19]
-  wire  ret_bit_50 = ~jal_bit_50; // @[Library.scala 310:19]
-  wire  ret_bit_51 = ~jal_bit_51; // @[Library.scala 310:19]
-  wire  ret_bit_52 = ~jal_bit_52; // @[Library.scala 310:19]
-  wire  ret_bit_53 = ~jal_bit_53; // @[Library.scala 310:19]
-  wire  ret_bit_54 = ~jal_bit_54; // @[Library.scala 310:19]
-  wire  ret_bit_55 = ~jal_bit_55; // @[Library.scala 310:19]
-  wire  ret_bit_56 = ~jal_bit_56; // @[Library.scala 310:19]
+    ret_bit_39 & ret_bit_40 & ret_bit_41 & ret_bit_42 & ret_bit_43 & ret_bit_44 & ret_bit_45 & ret_bit_46 & ret_bit_47; // @[Library.scala 313:48]
+  wire  _ret_T_48 = _ret_T_47 & jal_bit_48; // @[Library.scala 316:48]
+  wire  ret_bit_49 = ~jal_bit_49; // @[Library.scala 312:19]
+  wire  ret_bit_50 = ~jal_bit_50; // @[Library.scala 312:19]
+  wire  ret_bit_51 = ~jal_bit_51; // @[Library.scala 312:19]
+  wire  ret_bit_52 = ~jal_bit_52; // @[Library.scala 312:19]
+  wire  ret_bit_53 = ~jal_bit_53; // @[Library.scala 312:19]
+  wire  ret_bit_54 = ~jal_bit_54; // @[Library.scala 312:19]
+  wire  ret_bit_55 = ~jal_bit_55; // @[Library.scala 312:19]
+  wire  ret_bit_56 = ~jal_bit_56; // @[Library.scala 312:19]
   wire  _ret_T_56 = _ret_T_48 & ret_bit_49 & ret_bit_50 & ret_bit_51 & ret_bit_52 & ret_bit_53 & ret_bit_54 & ret_bit_55
-     & ret_bit_56; // @[Library.scala 311:48]
-  wire  _ret_T_58 = _ret_T_56 & jal_bit_57 & jal_bit_58; // @[Library.scala 314:48]
-  wire  ret_bit_60 = ~jal_bit_60; // @[Library.scala 310:19]
-  wire  _ret_T_60 = _ret_T_58 & jal_bit_59 & ret_bit_60; // @[Library.scala 311:48]
-  wire  _ret_T_63 = _ret_T_60 & jal_bit_61 & jal_bit_62 & jal_bit_63; // @[Library.scala 314:48]
+     & ret_bit_56; // @[Library.scala 313:48]
+  wire  _ret_T_58 = _ret_T_56 & jal_bit_57 & jal_bit_58; // @[Library.scala 316:48]
+  wire  ret_bit_60 = ~jal_bit_60; // @[Library.scala 312:19]
+  wire  _ret_T_60 = _ret_T_58 & jal_bit_59 & ret_bit_60; // @[Library.scala 313:48]
+  wire  _ret_T_63 = _ret_T_60 & jal_bit_61 & jal_bit_62 & jal_bit_63; // @[Library.scala 316:48]
   wire  ret_1 = _ret_T_63 & io_linkPort_valid; // @[Fetch.scala 401:70]
-  wire  bxx_bit_61 = ~jal_bit_61; // @[Library.scala 310:19]
-  wire  _bxx_T_15 = _jal_T_7 & jal_bit_59 & ret_bit_60 & bxx_bit_61; // @[Library.scala 311:48]
-  wire  _bxx_T_17 = _bxx_T_15 & jal_bit_62 & jal_bit_63; // @[Library.scala 314:48]
+  wire  bxx_bit_61 = ~jal_bit_61; // @[Library.scala 312:19]
+  wire  _bxx_T_15 = _jal_T_7 & jal_bit_59 & ret_bit_60 & bxx_bit_61; // @[Library.scala 313:48]
+  wire  _bxx_T_17 = _bxx_T_15 & jal_bit_62 & jal_bit_63; // @[Library.scala 316:48]
   wire  _bxx_T_19 = _bxx_T_17 & jal_bit_32; // @[Fetch.scala 403:71]
   wire  bxx_1 = _bxx_T_19 & instBits_1[14:13] != 2'h1; // @[Fetch.scala 404:24]
   wire [19:0] _immbxx_T_8 = jal_bit_32 ? 20'hfffff : 20'h0; // @[Bitwise.scala 74:12]
@@ -5581,43 +5581,43 @@
   wire [31:0] _target_T_7 = instAddr_1 + immed_5; // @[Fetch.scala 408:51]
   wire [31:0] brchTargetDe1 = ret_1 ? io_linkPort_value : _target_T_7; // @[Fetch.scala 408:21]
   wire  brchTakenDe1 = preBranchTaken1 | ret_1 | bxx_1; // @[Fetch.scala 409:17]
-  wire  ret_bit_64 = ~jal_bit_64; // @[Library.scala 310:19]
-  wire  ret_bit_65 = ~jal_bit_65; // @[Library.scala 310:19]
-  wire  ret_bit_66 = ~jal_bit_66; // @[Library.scala 310:19]
-  wire  ret_bit_67 = ~jal_bit_67; // @[Library.scala 310:19]
-  wire  ret_bit_68 = ~jal_bit_68; // @[Library.scala 310:19]
-  wire  ret_bit_69 = ~jal_bit_69; // @[Library.scala 310:19]
-  wire  ret_bit_70 = ~jal_bit_70; // @[Library.scala 310:19]
-  wire  ret_bit_71 = ~jal_bit_71; // @[Library.scala 310:19]
-  wire  ret_bit_72 = ~jal_bit_72; // @[Library.scala 310:19]
-  wire  ret_bit_73 = ~jal_bit_73; // @[Library.scala 310:19]
-  wire  ret_bit_74 = ~jal_bit_74; // @[Library.scala 310:19]
-  wire  ret_bit_75 = ~jal_bit_75; // @[Library.scala 310:19]
-  wire  ret_bit_76 = ~jal_bit_76; // @[Library.scala 310:19]
-  wire  ret_bit_77 = ~jal_bit_77; // @[Library.scala 310:19]
-  wire  ret_bit_78 = ~jal_bit_78; // @[Library.scala 310:19]
-  wire  ret_bit_79 = ~jal_bit_79; // @[Library.scala 310:19]
+  wire  ret_bit_64 = ~jal_bit_64; // @[Library.scala 312:19]
+  wire  ret_bit_65 = ~jal_bit_65; // @[Library.scala 312:19]
+  wire  ret_bit_66 = ~jal_bit_66; // @[Library.scala 312:19]
+  wire  ret_bit_67 = ~jal_bit_67; // @[Library.scala 312:19]
+  wire  ret_bit_68 = ~jal_bit_68; // @[Library.scala 312:19]
+  wire  ret_bit_69 = ~jal_bit_69; // @[Library.scala 312:19]
+  wire  ret_bit_70 = ~jal_bit_70; // @[Library.scala 312:19]
+  wire  ret_bit_71 = ~jal_bit_71; // @[Library.scala 312:19]
+  wire  ret_bit_72 = ~jal_bit_72; // @[Library.scala 312:19]
+  wire  ret_bit_73 = ~jal_bit_73; // @[Library.scala 312:19]
+  wire  ret_bit_74 = ~jal_bit_74; // @[Library.scala 312:19]
+  wire  ret_bit_75 = ~jal_bit_75; // @[Library.scala 312:19]
+  wire  ret_bit_76 = ~jal_bit_76; // @[Library.scala 312:19]
+  wire  ret_bit_77 = ~jal_bit_77; // @[Library.scala 312:19]
+  wire  ret_bit_78 = ~jal_bit_78; // @[Library.scala 312:19]
+  wire  ret_bit_79 = ~jal_bit_79; // @[Library.scala 312:19]
   wire  _ret_T_79 = ret_bit_64 & ret_bit_65 & ret_bit_66 & ret_bit_67 & ret_bit_68 & ret_bit_69 & ret_bit_70 &
-    ret_bit_71 & ret_bit_72 & ret_bit_73 & ret_bit_74 & ret_bit_75 & ret_bit_76 & ret_bit_77 & ret_bit_78 & ret_bit_79; // @[Library.scala 311:48]
-  wire  _ret_T_80 = _ret_T_79 & jal_bit_80; // @[Library.scala 314:48]
-  wire  ret_bit_81 = ~jal_bit_81; // @[Library.scala 310:19]
-  wire  ret_bit_82 = ~jal_bit_82; // @[Library.scala 310:19]
-  wire  ret_bit_83 = ~jal_bit_83; // @[Library.scala 310:19]
-  wire  ret_bit_84 = ~jal_bit_84; // @[Library.scala 310:19]
-  wire  ret_bit_85 = ~jal_bit_85; // @[Library.scala 310:19]
-  wire  ret_bit_86 = ~jal_bit_86; // @[Library.scala 310:19]
-  wire  ret_bit_87 = ~jal_bit_87; // @[Library.scala 310:19]
-  wire  ret_bit_88 = ~jal_bit_88; // @[Library.scala 310:19]
+    ret_bit_71 & ret_bit_72 & ret_bit_73 & ret_bit_74 & ret_bit_75 & ret_bit_76 & ret_bit_77 & ret_bit_78 & ret_bit_79; // @[Library.scala 313:48]
+  wire  _ret_T_80 = _ret_T_79 & jal_bit_80; // @[Library.scala 316:48]
+  wire  ret_bit_81 = ~jal_bit_81; // @[Library.scala 312:19]
+  wire  ret_bit_82 = ~jal_bit_82; // @[Library.scala 312:19]
+  wire  ret_bit_83 = ~jal_bit_83; // @[Library.scala 312:19]
+  wire  ret_bit_84 = ~jal_bit_84; // @[Library.scala 312:19]
+  wire  ret_bit_85 = ~jal_bit_85; // @[Library.scala 312:19]
+  wire  ret_bit_86 = ~jal_bit_86; // @[Library.scala 312:19]
+  wire  ret_bit_87 = ~jal_bit_87; // @[Library.scala 312:19]
+  wire  ret_bit_88 = ~jal_bit_88; // @[Library.scala 312:19]
   wire  _ret_T_88 = _ret_T_80 & ret_bit_81 & ret_bit_82 & ret_bit_83 & ret_bit_84 & ret_bit_85 & ret_bit_86 & ret_bit_87
-     & ret_bit_88; // @[Library.scala 311:48]
-  wire  _ret_T_90 = _ret_T_88 & jal_bit_89 & jal_bit_90; // @[Library.scala 314:48]
-  wire  ret_bit_92 = ~jal_bit_92; // @[Library.scala 310:19]
-  wire  _ret_T_92 = _ret_T_90 & jal_bit_91 & ret_bit_92; // @[Library.scala 311:48]
-  wire  _ret_T_95 = _ret_T_92 & jal_bit_93 & jal_bit_94 & jal_bit_95; // @[Library.scala 314:48]
+     & ret_bit_88; // @[Library.scala 313:48]
+  wire  _ret_T_90 = _ret_T_88 & jal_bit_89 & jal_bit_90; // @[Library.scala 316:48]
+  wire  ret_bit_92 = ~jal_bit_92; // @[Library.scala 312:19]
+  wire  _ret_T_92 = _ret_T_90 & jal_bit_91 & ret_bit_92; // @[Library.scala 313:48]
+  wire  _ret_T_95 = _ret_T_92 & jal_bit_93 & jal_bit_94 & jal_bit_95; // @[Library.scala 316:48]
   wire  ret_2 = _ret_T_95 & io_linkPort_valid; // @[Fetch.scala 401:70]
-  wire  bxx_bit_93 = ~jal_bit_93; // @[Library.scala 310:19]
-  wire  _bxx_T_26 = _jal_T_13 & jal_bit_91 & ret_bit_92 & bxx_bit_93; // @[Library.scala 311:48]
-  wire  _bxx_T_28 = _bxx_T_26 & jal_bit_94 & jal_bit_95; // @[Library.scala 314:48]
+  wire  bxx_bit_93 = ~jal_bit_93; // @[Library.scala 312:19]
+  wire  _bxx_T_26 = _jal_T_13 & jal_bit_91 & ret_bit_92 & bxx_bit_93; // @[Library.scala 313:48]
+  wire  _bxx_T_28 = _bxx_T_26 & jal_bit_94 & jal_bit_95; // @[Library.scala 316:48]
   wire  _bxx_T_30 = _bxx_T_28 & jal_bit_64; // @[Fetch.scala 403:71]
   wire  bxx_2 = _bxx_T_30 & instBits_2[14:13] != 2'h1; // @[Fetch.scala 404:24]
   wire [19:0] _immbxx_T_14 = jal_bit_64 ? 20'hfffff : 20'h0; // @[Bitwise.scala 74:12]
@@ -5626,44 +5626,44 @@
   wire [31:0] _target_T_9 = instAddr_2 + immed_6; // @[Fetch.scala 408:51]
   wire [31:0] brchTargetDe2 = ret_2 ? io_linkPort_value : _target_T_9; // @[Fetch.scala 408:21]
   wire  brchTakenDe2 = preBranchTaken2 | ret_2 | bxx_2; // @[Fetch.scala 409:17]
-  wire  ret_bit_96 = ~jal_bit_96; // @[Library.scala 310:19]
-  wire  ret_bit_97 = ~jal_bit_97; // @[Library.scala 310:19]
-  wire  ret_bit_98 = ~jal_bit_98; // @[Library.scala 310:19]
-  wire  ret_bit_99 = ~jal_bit_99; // @[Library.scala 310:19]
-  wire  ret_bit_100 = ~jal_bit_100; // @[Library.scala 310:19]
-  wire  ret_bit_101 = ~jal_bit_101; // @[Library.scala 310:19]
-  wire  ret_bit_102 = ~jal_bit_102; // @[Library.scala 310:19]
-  wire  ret_bit_103 = ~jal_bit_103; // @[Library.scala 310:19]
-  wire  ret_bit_104 = ~jal_bit_104; // @[Library.scala 310:19]
-  wire  ret_bit_105 = ~jal_bit_105; // @[Library.scala 310:19]
-  wire  ret_bit_106 = ~jal_bit_106; // @[Library.scala 310:19]
-  wire  ret_bit_107 = ~jal_bit_107; // @[Library.scala 310:19]
-  wire  ret_bit_108 = ~jal_bit_108; // @[Library.scala 310:19]
-  wire  ret_bit_109 = ~jal_bit_109; // @[Library.scala 310:19]
-  wire  ret_bit_110 = ~jal_bit_110; // @[Library.scala 310:19]
-  wire  ret_bit_111 = ~jal_bit_111; // @[Library.scala 310:19]
+  wire  ret_bit_96 = ~jal_bit_96; // @[Library.scala 312:19]
+  wire  ret_bit_97 = ~jal_bit_97; // @[Library.scala 312:19]
+  wire  ret_bit_98 = ~jal_bit_98; // @[Library.scala 312:19]
+  wire  ret_bit_99 = ~jal_bit_99; // @[Library.scala 312:19]
+  wire  ret_bit_100 = ~jal_bit_100; // @[Library.scala 312:19]
+  wire  ret_bit_101 = ~jal_bit_101; // @[Library.scala 312:19]
+  wire  ret_bit_102 = ~jal_bit_102; // @[Library.scala 312:19]
+  wire  ret_bit_103 = ~jal_bit_103; // @[Library.scala 312:19]
+  wire  ret_bit_104 = ~jal_bit_104; // @[Library.scala 312:19]
+  wire  ret_bit_105 = ~jal_bit_105; // @[Library.scala 312:19]
+  wire  ret_bit_106 = ~jal_bit_106; // @[Library.scala 312:19]
+  wire  ret_bit_107 = ~jal_bit_107; // @[Library.scala 312:19]
+  wire  ret_bit_108 = ~jal_bit_108; // @[Library.scala 312:19]
+  wire  ret_bit_109 = ~jal_bit_109; // @[Library.scala 312:19]
+  wire  ret_bit_110 = ~jal_bit_110; // @[Library.scala 312:19]
+  wire  ret_bit_111 = ~jal_bit_111; // @[Library.scala 312:19]
   wire  _ret_T_111 = ret_bit_96 & ret_bit_97 & ret_bit_98 & ret_bit_99 & ret_bit_100 & ret_bit_101 & ret_bit_102 &
     ret_bit_103 & ret_bit_104 & ret_bit_105 & ret_bit_106 & ret_bit_107 & ret_bit_108 & ret_bit_109 & ret_bit_110 &
-    ret_bit_111; // @[Library.scala 311:48]
-  wire  _ret_T_112 = _ret_T_111 & jal_bit_112; // @[Library.scala 314:48]
-  wire  ret_bit_113 = ~jal_bit_113; // @[Library.scala 310:19]
-  wire  ret_bit_114 = ~jal_bit_114; // @[Library.scala 310:19]
-  wire  ret_bit_115 = ~jal_bit_115; // @[Library.scala 310:19]
-  wire  ret_bit_116 = ~jal_bit_116; // @[Library.scala 310:19]
-  wire  ret_bit_117 = ~jal_bit_117; // @[Library.scala 310:19]
-  wire  ret_bit_118 = ~jal_bit_118; // @[Library.scala 310:19]
-  wire  ret_bit_119 = ~jal_bit_119; // @[Library.scala 310:19]
-  wire  ret_bit_120 = ~jal_bit_120; // @[Library.scala 310:19]
+    ret_bit_111; // @[Library.scala 313:48]
+  wire  _ret_T_112 = _ret_T_111 & jal_bit_112; // @[Library.scala 316:48]
+  wire  ret_bit_113 = ~jal_bit_113; // @[Library.scala 312:19]
+  wire  ret_bit_114 = ~jal_bit_114; // @[Library.scala 312:19]
+  wire  ret_bit_115 = ~jal_bit_115; // @[Library.scala 312:19]
+  wire  ret_bit_116 = ~jal_bit_116; // @[Library.scala 312:19]
+  wire  ret_bit_117 = ~jal_bit_117; // @[Library.scala 312:19]
+  wire  ret_bit_118 = ~jal_bit_118; // @[Library.scala 312:19]
+  wire  ret_bit_119 = ~jal_bit_119; // @[Library.scala 312:19]
+  wire  ret_bit_120 = ~jal_bit_120; // @[Library.scala 312:19]
   wire  _ret_T_120 = _ret_T_112 & ret_bit_113 & ret_bit_114 & ret_bit_115 & ret_bit_116 & ret_bit_117 & ret_bit_118 &
-    ret_bit_119 & ret_bit_120; // @[Library.scala 311:48]
-  wire  _ret_T_122 = _ret_T_120 & jal_bit_121 & jal_bit_122; // @[Library.scala 314:48]
-  wire  ret_bit_124 = ~jal_bit_124; // @[Library.scala 310:19]
-  wire  _ret_T_124 = _ret_T_122 & jal_bit_123 & ret_bit_124; // @[Library.scala 311:48]
-  wire  _ret_T_127 = _ret_T_124 & jal_bit_125 & jal_bit_126 & jal_bit_127; // @[Library.scala 314:48]
+    ret_bit_119 & ret_bit_120; // @[Library.scala 313:48]
+  wire  _ret_T_122 = _ret_T_120 & jal_bit_121 & jal_bit_122; // @[Library.scala 316:48]
+  wire  ret_bit_124 = ~jal_bit_124; // @[Library.scala 312:19]
+  wire  _ret_T_124 = _ret_T_122 & jal_bit_123 & ret_bit_124; // @[Library.scala 313:48]
+  wire  _ret_T_127 = _ret_T_124 & jal_bit_125 & jal_bit_126 & jal_bit_127; // @[Library.scala 316:48]
   wire  ret_3 = _ret_T_127 & io_linkPort_valid; // @[Fetch.scala 401:70]
-  wire  bxx_bit_125 = ~jal_bit_125; // @[Library.scala 310:19]
-  wire  _bxx_T_37 = _jal_T_19 & jal_bit_123 & ret_bit_124 & bxx_bit_125; // @[Library.scala 311:48]
-  wire  _bxx_T_39 = _bxx_T_37 & jal_bit_126 & jal_bit_127; // @[Library.scala 314:48]
+  wire  bxx_bit_125 = ~jal_bit_125; // @[Library.scala 312:19]
+  wire  _bxx_T_37 = _jal_T_19 & jal_bit_123 & ret_bit_124 & bxx_bit_125; // @[Library.scala 313:48]
+  wire  _bxx_T_39 = _bxx_T_37 & jal_bit_126 & jal_bit_127; // @[Library.scala 316:48]
   wire  _bxx_T_41 = _bxx_T_39 & jal_bit_96; // @[Fetch.scala 403:71]
   wire  bxx_3 = _bxx_T_41 & instBits_3[14:13] != 2'h1; // @[Fetch.scala 404:24]
   wire [19:0] _immbxx_T_20 = jal_bit_96 ? 20'hfffff : 20'h0; // @[Bitwise.scala 74:12]
@@ -7619,7 +7619,6 @@
   output        io_fcvtsw,
   output        io_fcvtswu,
   output        io_fmvwx,
-  output        io_clb,
   output        io_clz,
   output        io_ctz,
   output        io_pcnt,
@@ -7632,7 +7631,6 @@
   output        io_vld,
   output        io_vst,
   output        io_viop,
-  output        io_vfop,
   output        io_ebreak,
   output        io_ecall,
   output        io_eexit,
@@ -7656,592 +7654,577 @@
   wire [4:0] io_immbr_lo = {io_inst[11:8],1'h0}; // @[Cat.scala 31:58]
   wire [26:0] io_immbr_hi = {_io_imm12_T_2,io_inst[7],io_inst[30:25]}; // @[Cat.scala 31:58]
   wire [26:0] io_immst_hi = {_io_imm12_T_2,io_inst[31:25]}; // @[Cat.scala 31:58]
-  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 316:23]
-  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 316:23]
-  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 316:23]
-  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 316:23]
-  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 316:23]
-  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 316:23]
-  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 316:23]
-  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 316:23]
-  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 316:23]
-  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 316:23]
-  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 316:23]
-  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 316:23]
-  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 316:23]
-  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 316:23]
-  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 316:23]
-  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 316:23]
-  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 316:23]
-  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 316:23]
-  wire  io_lui_bit_20 = io_inst[11]; // @[Library.scala 316:23]
-  wire  io_lui_bit_21 = io_inst[10]; // @[Library.scala 316:23]
-  wire  io_lui_bit_22 = io_inst[9]; // @[Library.scala 316:23]
-  wire  io_lui_bit_23 = io_inst[8]; // @[Library.scala 316:23]
-  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 310:19]
-  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 313:23]
-  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 313:23]
-  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 310:19]
-  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 313:23]
-  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 313:23]
-  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 313:23]
-  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 310:19]
-  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 310:19]
-  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 311:48]
-  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 310:19]
-  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 310:19]
-  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 310:19]
-  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 310:19]
-  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_csrrw_T_4 = io_jalr_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_csrrw_T_6 = _io_csrrw_T_4 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_csrrs_T_1 = io_lui_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_csrrs_T_4 = _io_csrrs_T_1 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_csrrs_T_6 = _io_csrrs_T_4 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_csrrc_T_4 = io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_csrrc_T_6 = _io_csrrc_T_4 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 318:23]
+  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 318:23]
+  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 318:23]
+  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 318:23]
+  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 318:23]
+  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 318:23]
+  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 318:23]
+  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 318:23]
+  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 318:23]
+  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 318:23]
+  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 318:23]
+  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 318:23]
+  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 318:23]
+  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 318:23]
+  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 318:23]
+  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 318:23]
+  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 318:23]
+  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 318:23]
+  wire  io_lui_bit_20 = io_inst[11]; // @[Library.scala 318:23]
+  wire  io_lui_bit_21 = io_inst[10]; // @[Library.scala 318:23]
+  wire  io_lui_bit_22 = io_inst[9]; // @[Library.scala 318:23]
+  wire  io_lui_bit_23 = io_inst[8]; // @[Library.scala 318:23]
+  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 312:19]
+  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 315:23]
+  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 315:23]
+  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 312:19]
+  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 315:23]
+  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 315:23]
+  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 315:23]
+  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 312:19]
+  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 312:19]
+  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 313:48]
+  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 312:19]
+  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 312:19]
+  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 312:19]
+  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 312:19]
+  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_csrrw_T_4 = io_jalr_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_csrrw_T_6 = _io_csrrw_T_4 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_csrrs_T_1 = io_lui_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_csrrs_T_4 = _io_csrrs_T_1 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_csrrs_T_6 = _io_csrrs_T_4 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_csrrc_T_4 = io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_csrrc_T_6 = _io_csrrc_T_4 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lb_T_7 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_lw_T_6 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_lw_T_6 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
   wire  _io_lw_T_7 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 &
-    io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+    io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lbu_T_7 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sw_T_6 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 310:19]
-  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 310:19]
-  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 311:48]
-  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 310:19]
-  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 310:19]
-  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 311:48]
-  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 310:19]
-  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 310:19]
-  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 310:19]
-  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 310:19]
-  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 310:19]
-  wire  io_fence_bit_20 = ~io_lui_bit_20; // @[Library.scala 310:19]
-  wire  io_fence_bit_21 = ~io_lui_bit_21; // @[Library.scala 310:19]
-  wire  io_fence_bit_22 = ~io_lui_bit_22; // @[Library.scala 310:19]
-  wire  io_fence_bit_23 = ~io_lui_bit_23; // @[Library.scala 310:19]
-  wire  io_fence_bit_24 = ~io_inst[7]; // @[Library.scala 310:19]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sw_T_6 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 312:19]
+  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 312:19]
+  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 313:48]
+  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 312:19]
+  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 312:19]
+  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 313:48]
+  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 312:19]
+  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 312:19]
+  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 312:19]
+  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 312:19]
+  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 312:19]
+  wire  io_fence_bit_20 = ~io_lui_bit_20; // @[Library.scala 312:19]
+  wire  io_fence_bit_21 = ~io_lui_bit_21; // @[Library.scala 312:19]
+  wire  io_fence_bit_22 = ~io_lui_bit_22; // @[Library.scala 312:19]
+  wire  io_fence_bit_23 = ~io_lui_bit_23; // @[Library.scala 312:19]
+  wire  io_fence_bit_24 = ~io_inst[7]; // @[Library.scala 312:19]
   wire  _io_fence_T_19 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_fence_bit_12 &
     io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17 & io_jalr_bit_18 &
     io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24 &
-    io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27; // @[Library.scala 311:48]
-  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 310:19]
-  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 310:19]
-  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 310:19]
+    io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27; // @[Library.scala 313:48]
+  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 312:19]
+  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 312:19]
+  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 312:19]
   wire  _io_slli_T_6 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6; // @[Library.scala 311:48]
+     & io_slli_bit_6; // @[Library.scala 313:48]
   wire  _io_slli_T_7 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
   wire  _io_slli_T_8 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 314:48]
-  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 316:48]
+  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_add_T_10 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_sub_T_10 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_3 = _io_mulhr_T_2 & io_fence_bit_3; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_div_T_7 = _io_slli_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_div_T_8 = _io_div_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_div_T_10 = _io_div_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_div_T_12 = _io_div_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_div_T_14 = _io_div_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_divu_T_9 = _io_div_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_divu_T_10 = _io_divu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_divu_T_12 = _io_divu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_divu_T_14 = _io_divu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_rem_T_8 = _io_slli_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_rem_T_10 = _io_rem_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_rem_T_12 = _io_rem_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_rem_T_14 = _io_rem_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_remu_T_9 = _io_slli_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_remu_T_10 = _io_remu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_remu_T_12 = _io_remu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_remu_T_14 = _io_remu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fmadd_T_1 = io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_fmadd_T_2 = _io_fmadd_T_1 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fmadd_T_4 = _io_fmadd_T_2 & io_auipc_bit_26 & io_jal_bit_27; // @[Library.scala 311:48]
-  wire  _io_fmadd_T_5 = _io_fmadd_T_2 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_fmadd_T_6 = _io_fmadd_T_2 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fnmsub_T_5 = _io_fmadd_T_4 & io_inst[3]; // @[Library.scala 314:48]
-  wire  _io_fnmsub_T_6 = _io_fnmsub_T_5 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fadd_T_7 = _io_slli_T_6 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fadd_T_8 = _io_fadd_T_7 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fadd_T_9 = _io_fadd_T_8 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fadd_T_11 = _io_fadd_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_fsub_T_6 = _io_fsub_T_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_fsub_T_7 = _io_fsub_T_6 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fsub_T_8 = _io_fsub_T_7 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fsub_T_9 = _io_fsub_T_8 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fsub_T_11 = _io_fsub_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  _io_fmul_T_6 = _io_fmul_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_fmul_T_7 = _io_fmul_T_6 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fmul_T_8 = _io_fmul_T_7 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fmul_T_9 = _io_fmul_T_8 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fmul_T_11 = _io_fmul_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fdiv_T_4 = _io_fence_T_2 & io_lui_bit_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fdiv_T_6 = _io_fdiv_T_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_fdiv_T_7 = _io_fdiv_T_6 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fdiv_T_8 = _io_fdiv_T_7 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fdiv_T_9 = _io_fdiv_T_8 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fdiv_T_11 = _io_fdiv_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_4 = _io_srai_T_2 & io_lui_bit_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_6 = _io_fsqrt_T_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_fsqrt_T_7 = _io_fsqrt_T_6 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_8 = _io_fsqrt_T_7 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fsqrt_T_9 = _io_fsqrt_T_8 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_11 = _io_fsqrt_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsgnj_T_7 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_3 = _io_mulhr_T_2 & io_fence_bit_3; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_div_T_7 = _io_slli_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_div_T_8 = _io_div_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_div_T_10 = _io_div_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_div_T_12 = _io_div_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_div_T_14 = _io_div_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_divu_T_9 = _io_div_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_divu_T_10 = _io_divu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_divu_T_12 = _io_divu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_divu_T_14 = _io_divu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_rem_T_8 = _io_slli_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_rem_T_10 = _io_rem_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_rem_T_12 = _io_rem_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_rem_T_14 = _io_rem_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_remu_T_9 = _io_slli_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_remu_T_10 = _io_remu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_remu_T_12 = _io_remu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_remu_T_14 = _io_remu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fmadd_T_1 = io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_fmadd_T_2 = _io_fmadd_T_1 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fmadd_T_4 = _io_fmadd_T_2 & io_auipc_bit_26 & io_jal_bit_27; // @[Library.scala 313:48]
+  wire  _io_fmadd_T_5 = _io_fmadd_T_2 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_fmadd_T_6 = _io_fmadd_T_2 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fnmsub_T_5 = _io_fmadd_T_4 & io_inst[3]; // @[Library.scala 316:48]
+  wire  _io_fnmsub_T_6 = _io_fnmsub_T_5 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fadd_T_7 = _io_slli_T_6 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fadd_T_8 = _io_fadd_T_7 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fadd_T_9 = _io_fadd_T_8 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fadd_T_11 = _io_fadd_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_fsub_T_6 = _io_fsub_T_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_fsub_T_7 = _io_fsub_T_6 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fsub_T_8 = _io_fsub_T_7 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fsub_T_9 = _io_fsub_T_8 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fsub_T_11 = _io_fsub_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  _io_fmul_T_6 = _io_fmul_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_fmul_T_7 = _io_fmul_T_6 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fmul_T_8 = _io_fmul_T_7 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fmul_T_9 = _io_fmul_T_8 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fmul_T_11 = _io_fmul_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fdiv_T_4 = _io_fence_T_2 & io_lui_bit_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fdiv_T_6 = _io_fdiv_T_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_fdiv_T_7 = _io_fdiv_T_6 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fdiv_T_8 = _io_fdiv_T_7 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fdiv_T_9 = _io_fdiv_T_8 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fdiv_T_11 = _io_fdiv_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_4 = _io_srai_T_2 & io_lui_bit_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_6 = _io_fsqrt_T_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_fsqrt_T_7 = _io_fsqrt_T_6 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_8 = _io_fsqrt_T_7 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fsqrt_T_9 = _io_fsqrt_T_8 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_11 = _io_fsqrt_T_9 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsgnj_T_7 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
   wire  _io_fsgnj_T_8 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17
-     & io_jalr_bit_18; // @[Library.scala 311:48]
+     & io_jalr_bit_18; // @[Library.scala 313:48]
   wire  _io_fsgnj_T_9 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17
-     & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_fsgnj_T_10 = _io_fsgnj_T_9 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fsgnj_T_11 = _io_fsgnj_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fsgnj_T_12 = _io_fsgnj_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fsgnj_T_14 = _io_fsgnj_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsgnjn_T_10 = _io_fsgnj_T_8 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fsgnjn_T_11 = _io_fsgnjn_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fsgnjn_T_12 = _io_fsgnjn_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fsgnjn_T_14 = _io_fsgnjn_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsgnjx_T_8 = _io_fsgnj_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_fsgnjx_T_9 = _io_fsgnjx_T_8 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_fsgnjx_T_10 = _io_fsgnjx_T_9 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fsgnjx_T_11 = _io_fsgnjx_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fsgnjx_T_12 = _io_fsgnjx_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fsgnjx_T_14 = _io_fsgnjx_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fmin_T_4 = _io_mulhr_T_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fmin_T_8 = _io_fmin_T_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_fmin_T_9 = _io_fmin_T_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_fmin_T_10 = _io_fmin_T_9 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fmin_T_11 = _io_fmin_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fmin_T_12 = _io_fmin_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fmin_T_14 = _io_fmin_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fmax_T_10 = _io_fmin_T_8 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fmax_T_11 = _io_fmax_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fmax_T_12 = _io_fmax_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fmax_T_14 = _io_fmax_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fcvtws_T_1 = io_inst[31] & io_lui_bit_1; // @[Library.scala 314:48]
-  wire  _io_fcvtws_T_2 = _io_fcvtws_T_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 310:19]
+     & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_fsgnj_T_10 = _io_fsgnj_T_9 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fsgnj_T_11 = _io_fsgnj_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fsgnj_T_12 = _io_fsgnj_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fsgnj_T_14 = _io_fsgnj_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsgnjn_T_10 = _io_fsgnj_T_8 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fsgnjn_T_11 = _io_fsgnjn_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fsgnjn_T_12 = _io_fsgnjn_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fsgnjn_T_14 = _io_fsgnjn_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsgnjx_T_8 = _io_fsgnj_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_fsgnjx_T_9 = _io_fsgnjx_T_8 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_fsgnjx_T_10 = _io_fsgnjx_T_9 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fsgnjx_T_11 = _io_fsgnjx_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fsgnjx_T_12 = _io_fsgnjx_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fsgnjx_T_14 = _io_fsgnjx_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fmin_T_4 = _io_mulhr_T_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fmin_T_8 = _io_fmin_T_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_fmin_T_9 = _io_fmin_T_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_fmin_T_10 = _io_fmin_T_9 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fmin_T_11 = _io_fmin_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fmin_T_12 = _io_fmin_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fmin_T_14 = _io_fmin_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fmax_T_10 = _io_fmin_T_8 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fmax_T_11 = _io_fmax_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fmax_T_12 = _io_fmax_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fmax_T_14 = _io_fmax_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fcvtws_T_1 = io_inst[31] & io_lui_bit_1; // @[Library.scala 316:48]
+  wire  _io_fcvtws_T_2 = _io_fcvtws_T_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 312:19]
   wire  _io_fcvtws_T_10 = _io_fcvtws_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 &
-    io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
-  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 310:19]
+    io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
+  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 312:19]
   wire  _io_fcvtws_T_11 = _io_fcvtws_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 &
-    io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11; // @[Library.scala 311:48]
-  wire  _io_fcvtws_T_12 = _io_fcvtws_T_11 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fcvtws_T_13 = _io_fcvtws_T_12 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fcvtws_T_14 = _io_fcvtws_T_13 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fcvtws_T_16 = _io_fcvtws_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fcvtwus_T_12 = _io_fcvtws_T_10 & io_inst[20] & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fcvtwus_T_13 = _io_fcvtwus_T_12 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fcvtwus_T_14 = _io_fcvtwus_T_13 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fcvtwus_T_16 = _io_fcvtwus_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fmvxw_T_2 = io_inst[31] & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 314:48]
+    io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11; // @[Library.scala 313:48]
+  wire  _io_fcvtws_T_12 = _io_fcvtws_T_11 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fcvtws_T_13 = _io_fcvtws_T_12 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fcvtws_T_14 = _io_fcvtws_T_13 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fcvtws_T_16 = _io_fcvtws_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fcvtwus_T_12 = _io_fcvtws_T_10 & io_inst[20] & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fcvtwus_T_13 = _io_fcvtwus_T_12 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fcvtwus_T_14 = _io_fcvtwus_T_13 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fcvtwus_T_16 = _io_fcvtwus_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fmvxw_T_2 = io_inst[31] & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 316:48]
   wire  _io_fmvxw_T_13 = _io_fmvxw_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 &
     io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
+    io_jalr_bit_18; // @[Library.scala 313:48]
   wire  _io_fmvxw_T_14 = _io_fmvxw_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 &
     io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 &
-    io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_fmvxw_T_15 = _io_fmvxw_T_14 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fmvxw_T_16 = _io_fmvxw_T_15 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fmvxw_T_17 = _io_fmvxw_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fmvxw_T_19 = _io_fmvxw_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_feq_T_1 = io_inst[31] & io_fence_bit_1; // @[Library.scala 311:48]
-  wire  _io_feq_T_2 = _io_feq_T_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_feq_T_7 = _io_feq_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_feq_T_8 = _io_feq_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_feq_T_9 = _io_feq_T_8 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_feq_T_10 = _io_feq_T_9 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_feq_T_11 = _io_feq_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_feq_T_12 = _io_feq_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_feq_T_14 = _io_feq_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+    io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_fmvxw_T_15 = _io_fmvxw_T_14 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fmvxw_T_16 = _io_fmvxw_T_15 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fmvxw_T_17 = _io_fmvxw_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fmvxw_T_19 = _io_fmvxw_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_feq_T_1 = io_inst[31] & io_fence_bit_1; // @[Library.scala 313:48]
+  wire  _io_feq_T_2 = _io_feq_T_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_feq_T_7 = _io_feq_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_feq_T_8 = _io_feq_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_feq_T_9 = _io_feq_T_8 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_feq_T_10 = _io_feq_T_9 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_feq_T_11 = _io_feq_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_feq_T_12 = _io_feq_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_feq_T_14 = _io_feq_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_flt_T_8 = _io_feq_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_flt_T_10 = _io_flt_T_8 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_flt_T_11 = _io_flt_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_flt_T_12 = _io_flt_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_flt_T_14 = _io_flt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+    io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_flt_T_10 = _io_flt_T_8 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_flt_T_11 = _io_flt_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_flt_T_12 = _io_flt_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_flt_T_14 = _io_flt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_fle_T_9 = _io_feq_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_jalr_bit_17 &
-    io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_fle_T_10 = _io_fle_T_9 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fle_T_11 = _io_fle_T_10 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fle_T_12 = _io_fle_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fle_T_14 = _io_fle_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fclass_T_15 = _io_fmvxw_T_13 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fclass_T_16 = _io_fclass_T_15 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fclass_T_17 = _io_fclass_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fclass_T_19 = _io_fclass_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fcvtsw_T_3 = _io_fcvtws_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
+    io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_fle_T_10 = _io_fle_T_9 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fle_T_11 = _io_fle_T_10 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fle_T_12 = _io_fle_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fle_T_14 = _io_fle_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fclass_T_15 = _io_fmvxw_T_13 & io_lui_bit_19 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fclass_T_16 = _io_fclass_T_15 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fclass_T_17 = _io_fclass_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fclass_T_19 = _io_fclass_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fcvtsw_T_3 = _io_fcvtws_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
   wire  _io_fcvtsw_T_10 = _io_fcvtsw_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
   wire  _io_fcvtsw_T_11 = _io_fcvtsw_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11; // @[Library.scala 311:48]
-  wire  _io_fcvtsw_T_12 = _io_fcvtsw_T_11 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fcvtsw_T_13 = _io_fcvtsw_T_12 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fcvtsw_T_14 = _io_fcvtsw_T_13 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fcvtsw_T_16 = _io_fcvtsw_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fcvtswu_T_12 = _io_fcvtsw_T_10 & io_inst[20] & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fcvtswu_T_13 = _io_fcvtswu_T_12 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fcvtswu_T_14 = _io_fcvtswu_T_13 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fcvtswu_T_16 = _io_fcvtswu_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fmvwx_T_3 = io_inst[31] & io_lui_bit_1 & io_lui_bit_2 & io_lui_bit_3; // @[Library.scala 314:48]
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11; // @[Library.scala 313:48]
+  wire  _io_fcvtsw_T_12 = _io_fcvtsw_T_11 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fcvtsw_T_13 = _io_fcvtsw_T_12 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fcvtsw_T_14 = _io_fcvtsw_T_13 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fcvtsw_T_16 = _io_fcvtsw_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fcvtswu_T_12 = _io_fcvtsw_T_10 & io_inst[20] & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fcvtswu_T_13 = _io_fcvtswu_T_12 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fcvtswu_T_14 = _io_fcvtswu_T_13 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fcvtswu_T_16 = _io_fcvtswu_T_14 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fmvwx_T_3 = io_inst[31] & io_lui_bit_1 & io_lui_bit_2 & io_lui_bit_3; // @[Library.scala 316:48]
   wire  _io_fmvwx_T_14 = _io_fmvwx_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
     io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18 &
-    io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_fmvwx_T_15 = _io_fmvwx_T_14 & io_inst[6]; // @[Library.scala 314:48]
-  wire  _io_fmvwx_T_16 = _io_fmvwx_T_15 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_fmvwx_T_17 = _io_fmvwx_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_fmvwx_T_19 = _io_fmvwx_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_clb_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_clb_T_7 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7; // @[Library.scala 311:48]
-  wire  _io_clb_T_8 = _io_clb_T_7 & io_lui_bit_8; // @[Library.scala 314:48]
-  wire  _io_clb_T_13 = _io_clb_T_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clb_T_14 = _io_clb_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clb_T_16 = _io_clb_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clb_T_17 = _io_clb_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clb_T_19 = _io_clb_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_clz_T_9 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 311:48]
-  wire  _io_clz_T_10 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
-  wire  _io_clz_T_13 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 314:48]
-  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _slog_T_4 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2 & io_lui_bit_3 & io_lui_bit_4; // @[Library.scala 314:48]
+    io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_fmvwx_T_15 = _io_fmvwx_T_14 & io_inst[6]; // @[Library.scala 316:48]
+  wire  _io_fmvwx_T_16 = _io_fmvwx_T_15 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_fmvwx_T_17 = _io_fmvwx_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_fmvwx_T_19 = _io_fmvwx_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_clz_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_clz_T_9 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 313:48]
+  wire  _io_clz_T_10 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
+  wire  _io_clz_T_13 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 316:48]
+  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _slog_T_4 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2 & io_lui_bit_3 & io_lui_bit_4; // @[Library.scala 316:48]
   wire  _slog_T_17 = _slog_T_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 &
     io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_fence_bit_20 & io_fence_bit_21 & io_fence_bit_22 &
-    io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _slog_T_20 = _slog_T_17 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _slog_T_21 = _slog_T_20 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 688:89]
-  wire  _io_getvl_T_20 = io_inst[19:15] != 5'h0; // @[Decode.scala 688:132]
+    io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _slog_T_20 = _slog_T_17 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _slog_T_21 = _slog_T_20 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 680:89]
+  wire  _io_getvl_T_20 = io_inst[19:15] != 5'h0; // @[Decode.scala 680:132]
   wire  _io_getmaxvl_T_16 = _io_fmul_T_3 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 &
     io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vst_T_14 = _io_clb_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vst_T_14 = _io_clz_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vconv_T_17 = _io_fsqrt_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8
      & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 &
-    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vdup_T_11 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_6 & io_fence_bit_12 &
-    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 701:72]
-  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 702:20]
-  wire  vdupf = vdup & io_lui_bit_5; // @[Decode.scala 703:20]
-  wire  _vfma_T_1 = ~io_lui_bit_31; // @[Decode.scala 706:21]
-  wire  vfma = ~io_lui_bit_31 & io_inst[4:2] == 3'h5; // @[Decode.scala 706:29]
-  wire  _vfma4_T_1 = io_inst[1:0] == 2'h1; // @[Decode.scala 707:23]
-  wire [3:0] _vfma4_T_4 = {io_inst[13:12],io_inst[4:3]}; // @[Cat.scala 31:58]
-  wire  vfma4 = io_inst[1:0] == 2'h1 & _vfma4_T_4 == 4'h0; // @[Decode.scala 707:31]
-  wire  _io_viop_T_7 = _vfma4_T_1 & ~vfma4; // @[Decode.scala 712:30]
-  wire  _io_viop_T_8 = _vfma_T_1 & ~vfma | _io_viop_T_7; // @[Decode.scala 711:37]
-  wire  _io_viop_T_9 = _io_viop_T_8 | vconv; // @[Decode.scala 712:40]
+    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 693:72]
+  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 694:20]
+  wire  _io_viop_T_3 = io_inst[1:0] == 2'h1; // @[Decode.scala 698:22]
+  wire  _io_viop_T_4 = ~io_lui_bit_31 | _io_viop_T_3; // @[Decode.scala 697:28]
+  wire  _io_viop_T_5 = _io_viop_T_4 | vconv; // @[Decode.scala 698:30]
   wire  _io_ebreak_T_10 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 &
-    io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
-  wire  _io_ebreak_T_11 = _io_ebreak_T_10 & io_inst[20]; // @[Library.scala 314:48]
+    io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
+  wire  _io_ebreak_T_11 = _io_ebreak_T_10 & io_inst[20]; // @[Library.scala 316:48]
   wire  _io_ebreak_T_24 = _io_ebreak_T_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 &
     io_fence_bit_16 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 &
-    io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_ebreak_T_27 = _io_ebreak_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ebreak_T_29 = _io_ebreak_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+    io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_ebreak_T_27 = _io_ebreak_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ebreak_T_29 = _io_ebreak_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_ecall_T_18 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
      & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 &
     io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
+    io_jalr_bit_18; // @[Library.scala 313:48]
   wire  _io_ecall_T_24 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
      & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 &
     io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17 &
     io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 &
-    io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_ecall_T_27 = _io_ecall_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ecall_T_29 = _io_ecall_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+    io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_ecall_T_27 = _io_ecall_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ecall_T_29 = _io_ecall_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_eexit_T_24 = _io_mul_T_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 &
     io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 &
     io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 & io_fence_bit_22 &
-    io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_eexit_T_27 = _io_eexit_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_eexit_T_29 = _io_eexit_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+    io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_eexit_T_27 = _io_eexit_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_eexit_T_29 = _io_eexit_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_eyield_T_24 = _io_dmulh_T_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 &
     io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 &
     io_fence_bit_16 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 &
-    io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_eyield_T_27 = _io_eyield_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_eyield_T_29 = _io_eyield_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ectxsw_T_6 = _io_slli_T_4 & io_lui_bit_5 & io_lui_bit_6; // @[Library.scala 314:48]
+    io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_eyield_T_27 = _io_eyield_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_eyield_T_29 = _io_eyield_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ectxsw_T_6 = _io_slli_T_4 & io_lui_bit_5 & io_lui_bit_6; // @[Library.scala 316:48]
   wire  _io_ectxsw_T_24 = _io_ectxsw_T_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 &
     io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 &
     io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 & io_fence_bit_22 &
-    io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_ectxsw_T_27 = _io_ectxsw_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ectxsw_T_29 = _io_ectxsw_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+    io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_ectxsw_T_27 = _io_ectxsw_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ectxsw_T_29 = _io_ectxsw_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_mpause_T_24 = _io_fsub_T_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8 &
     io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 &
     io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 &
-    io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_mpause_T_27 = _io_mpause_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mpause_T_29 = _io_mpause_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mret_T_3 = _io_fence_T_1 & io_lui_bit_2 & io_lui_bit_3; // @[Library.scala 314:48]
+    io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_mpause_T_27 = _io_mpause_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mpause_T_29 = _io_mpause_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mret_T_3 = _io_fence_T_1 & io_lui_bit_2 & io_lui_bit_3; // @[Library.scala 316:48]
   wire  _io_mret_T_9 = _io_mret_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8
-     & io_fcvtws_bit_9; // @[Library.scala 311:48]
-  wire  _io_mret_T_10 = _io_mret_T_9 & io_lui_bit_10; // @[Library.scala 314:48]
+     & io_fcvtws_bit_9; // @[Library.scala 313:48]
+  wire  _io_mret_T_10 = _io_mret_T_9 & io_lui_bit_10; // @[Library.scala 316:48]
   wire  _io_mret_T_24 = _io_mret_T_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 &
     io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 &
-    io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_mret_T_27 = _io_mret_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mret_T_29 = _io_mret_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fencei_T_19 = _io_ecall_T_18 & io_lui_bit_19; // @[Library.scala 314:48]
+    io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_mret_T_27 = _io_mret_T_24 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mret_T_29 = _io_mret_T_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fencei_T_19 = _io_ecall_T_18 & io_lui_bit_19; // @[Library.scala 316:48]
   wire  _io_fencei_T_27 = _io_fencei_T_19 & io_fence_bit_20 & io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 &
-    io_fence_bit_24 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27; // @[Library.scala 311:48]
+    io_fence_bit_24 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27; // @[Library.scala 313:48]
   wire  _io_flushat_T_16 = _io_mulhr_T_2 & io_fence_bit_3 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 &
     io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 &
-    io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_flushat_T_19 = _io_flushat_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_flushat_T_20 = _io_flushat_T_19 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_flushat_T_23 = _io_flushat_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_fence_bit_21 & io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_flushat_T_19 = _io_flushat_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_flushat_T_20 = _io_flushat_T_19 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_flushat_T_23 = _io_flushat_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _io_flushall_T_21 = _io_mulhr_T_2 & io_fence_bit_3 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 &
     io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 &
     io_fence_bit_16 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_fence_bit_20 & io_fence_bit_21 &
-    io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 311:48]
-  wire  _io_flushall_T_24 = _io_flushall_T_21 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_flushall_T_25 = _io_flushall_T_24 & io_lui_bit_28; // @[Library.scala 311:48]
+    io_fence_bit_22 & io_fence_bit_23 & io_fence_bit_24; // @[Library.scala 313:48]
+  wire  _io_flushall_T_24 = _io_flushall_T_21 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_flushall_T_25 = _io_flushall_T_24 & io_lui_bit_28; // @[Library.scala 313:48]
   wire [5:0] decoded_lo_lo_lo_lo = {io_mpause,io_mret,io_fencei,io_flushat,io_flushall,io_slog}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_lo_lo = {io_getvl,io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,
-    decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vfop,io_vld,io_vst}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_lo_lo = {io_fmvwx,io_clb,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,decoded_lo_lo_lo
-    }; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_lo_lo = {io_feq,io_flt,io_fle,io_fclass,io_fcvtsw,io_fcvtswu}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_hi_lo = {io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,io_fmvxw,decoded_lo_hi_lo_lo}
+  wire [11:0] decoded_lo_lo_lo = {io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vld,io_vst,io_getvl}; // @[Cat.scala 31:58]
+  wire [24:0] decoded_lo_lo = {io_fcvtswu,io_fmvwx,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,
+    decoded_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_hi_lo_lo = {io_fmvxw,io_feq,io_flt,io_fle,io_fclass,io_fcvtsw}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_lo_hi_lo = {io_fsgnj,io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,decoded_lo_hi_lo_lo}
     ; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_hi_lo = {io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt,io_fsgnj}; // @[Cat.scala 31:58]
-  wire [51:0] decoded_lo = {io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,io_fnmadd,decoded_lo_hi_hi_lo,
+  wire [5:0] decoded_lo_hi_hi_lo = {io_fnmadd,io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt}; // @[Cat.scala 31:58]
+  wire [50:0] decoded_lo = {io_rem,io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,decoded_lo_hi_hi_lo,
     decoded_lo_hi_lo,decoded_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu,io_rem}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_lo_lo = {io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,io_mulhsur,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_hi_lo = {io_and,io_slli,io_srli,io_srai,io_sll,io_srl}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_hi_lo = {io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,io_or,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_hi_lo_lo = {io_fence,io_addi,io_slti,io_sltiu,io_xori,io_ori}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_hi_lo = {io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,io_sw,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [6:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc,io_lb}; // @[Cat.scala 31:58]
-  wire [52:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
+  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhsur,io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_lo_lo = {io_srl,io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_lo_hi_lo = {io_or,io_and,io_slli,io_srli,io_srai,io_sll}; // @[Cat.scala 31:58]
+  wire [25:0] decoded_hi_lo = {io_ori,io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_lo_lo = {io_sw,io_fence,io_addi,io_slti,io_sltiu,io_xori}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_hi_lo = {io_lb,io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc}; // @[Cat.scala 31:58]
+  wire [51:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
     decoded_hi_lo}; // @[Cat.scala 31:58]
-  wire [104:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
-  wire  io_undef_value__52 = decoded[104]; // @[Library.scala 182:26]
+  wire [102:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
+  wire  io_undef_value__51 = decoded[102]; // @[Library.scala 182:26]
   wire  io_undef_value__0 = decoded[0] | decoded[1]; // @[Library.scala 194:39]
   wire  io_undef_value__1 = decoded[2] | decoded[3]; // @[Library.scala 194:39]
   wire  io_undef_value__2 = decoded[4] | decoded[5]; // @[Library.scala 194:39]
@@ -8293,7 +8276,6 @@
   wire  io_undef_value__48 = decoded[96] | decoded[97]; // @[Library.scala 194:39]
   wire  io_undef_value__49 = decoded[98] | decoded[99]; // @[Library.scala 194:39]
   wire  io_undef_value__50 = decoded[100] | decoded[101]; // @[Library.scala 194:39]
-  wire  io_undef_value__51 = decoded[102] | decoded[103]; // @[Library.scala 194:39]
   wire  io_undef_value_1_0 = io_undef_value__0 | io_undef_value__1; // @[Library.scala 194:39]
   wire  io_undef_value_1_1 = io_undef_value__2 | io_undef_value__3; // @[Library.scala 194:39]
   wire  io_undef_value_1_2 = io_undef_value__4 | io_undef_value__5; // @[Library.scala 194:39]
@@ -8339,273 +8321,268 @@
   wire  io_undef_value_3_3 = io_undef_value_2_6 | io_undef_value_2_7; // @[Library.scala 194:39]
   wire  io_undef_value_3_4 = io_undef_value_2_8 | io_undef_value_2_9; // @[Library.scala 194:39]
   wire  io_undef_value_3_5 = io_undef_value_2_10 | io_undef_value_2_11; // @[Library.scala 194:39]
-  wire  io_undef_value_3_6 = io_undef_value_2_12 | io_undef_value__52; // @[Library.scala 194:39]
   wire  io_undef_value_4_0 = io_undef_value_3_0 | io_undef_value_3_1; // @[Library.scala 194:39]
   wire  io_undef_value_4_1 = io_undef_value_3_2 | io_undef_value_3_3; // @[Library.scala 194:39]
   wire  io_undef_value_4_2 = io_undef_value_3_4 | io_undef_value_3_5; // @[Library.scala 194:39]
   wire  io_undef_value_5_0 = io_undef_value_4_0 | io_undef_value_4_1; // @[Library.scala 194:39]
-  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_3_6; // @[Library.scala 194:39]
+  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_2_12; // @[Library.scala 194:39]
   wire  io_undef_value_6_0 = io_undef_value_5_0 | io_undef_value_5_1; // @[Library.scala 194:39]
-  reg  onehot_failed; // @[Decode.scala 813:30]
-  wire  _T_2 = ~reset; // @[Decode.scala 814:9]
-  wire [1:0] _onehot_decode_T_105 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
+  reg  onehot_failed; // @[Decode.scala 799:30]
+  wire  _T_2 = ~reset; // @[Decode.scala 800:9]
+  wire [1:0] _onehot_decode_T_103 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_1 = {{1'd0}, decoded[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_107 = _GEN_1 + _onehot_decode_T_105; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_109 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_105 = _GEN_1 + _onehot_decode_T_103; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_107 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_2 = {{1'd0}, decoded[3]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_111 = _GEN_2 + _onehot_decode_T_109; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_113 = _onehot_decode_T_107[1:0] + _onehot_decode_T_111[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_115 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_109 = _GEN_2 + _onehot_decode_T_107; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_111 = _onehot_decode_T_105[1:0] + _onehot_decode_T_109[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_113 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_3 = {{1'd0}, decoded[6]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_117 = _GEN_3 + _onehot_decode_T_115; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_119 = decoded[9] + decoded[10]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_121 = decoded[11] + decoded[12]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_123 = _onehot_decode_T_119 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_4 = {{1'd0}, _onehot_decode_T_117[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_125 = _GEN_4 + _onehot_decode_T_123; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_127 = _onehot_decode_T_113 + _onehot_decode_T_125[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_129 = decoded[14] + decoded[15]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_5 = {{1'd0}, decoded[13]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_131 = _GEN_5 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_133 = decoded[17] + decoded[18]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_6 = {{1'd0}, decoded[16]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_135 = _GEN_6 + _onehot_decode_T_133; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_137 = _onehot_decode_T_131[1:0] + _onehot_decode_T_135[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_139 = decoded[20] + decoded[21]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_7 = {{1'd0}, decoded[19]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_141 = _GEN_7 + _onehot_decode_T_139; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_143 = decoded[22] + decoded[23]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_145 = decoded[24] + decoded[25]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_147 = _onehot_decode_T_143 + _onehot_decode_T_145; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_141[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_149 = _GEN_8 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_151 = _onehot_decode_T_137 + _onehot_decode_T_149[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_153 = _onehot_decode_T_127 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_155 = decoded[27] + decoded[28]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_9 = {{1'd0}, decoded[26]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_157 = _GEN_9 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_159 = decoded[30] + decoded[31]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_10 = {{1'd0}, decoded[29]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_161 = _GEN_10 + _onehot_decode_T_159; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_163 = _onehot_decode_T_157[1:0] + _onehot_decode_T_161[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_165 = decoded[33] + decoded[34]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_11 = {{1'd0}, decoded[32]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_167 = _GEN_11 + _onehot_decode_T_165; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_169 = decoded[35] + decoded[36]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_171 = decoded[37] + decoded[38]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_173 = _onehot_decode_T_169 + _onehot_decode_T_171; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_167[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_175 = _GEN_12 + _onehot_decode_T_173; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_177 = _onehot_decode_T_163 + _onehot_decode_T_175[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_179 = decoded[40] + decoded[41]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_13 = {{1'd0}, decoded[39]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_181 = _GEN_13 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_183 = decoded[43] + decoded[44]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_14 = {{1'd0}, decoded[42]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_185 = _GEN_14 + _onehot_decode_T_183; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_187 = _onehot_decode_T_181[1:0] + _onehot_decode_T_185[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_189 = decoded[46] + decoded[47]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_15 = {{1'd0}, decoded[45]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_191 = _GEN_15 + _onehot_decode_T_189; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_193 = decoded[48] + decoded[49]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_195 = decoded[50] + decoded[51]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_197 = _onehot_decode_T_193 + _onehot_decode_T_195; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_191[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_199 = _GEN_16 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_201 = _onehot_decode_T_187 + _onehot_decode_T_199[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_203 = _onehot_decode_T_177 + _onehot_decode_T_201; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_205 = _onehot_decode_T_153 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_207 = decoded[53] + decoded[54]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_17 = {{1'd0}, decoded[52]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_209 = _GEN_17 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_211 = decoded[56] + decoded[57]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_18 = {{1'd0}, decoded[55]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_213 = _GEN_18 + _onehot_decode_T_211; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_215 = _onehot_decode_T_209[1:0] + _onehot_decode_T_213[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_217 = decoded[59] + decoded[60]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_19 = {{1'd0}, decoded[58]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_219 = _GEN_19 + _onehot_decode_T_217; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_221 = decoded[61] + decoded[62]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_223 = decoded[63] + decoded[64]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_225 = _onehot_decode_T_221 + _onehot_decode_T_223; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_219[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_227 = _GEN_20 + _onehot_decode_T_225; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_229 = _onehot_decode_T_215 + _onehot_decode_T_227[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_231 = decoded[66] + decoded[67]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_21 = {{1'd0}, decoded[65]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_233 = _GEN_21 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_235 = decoded[69] + decoded[70]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_22 = {{1'd0}, decoded[68]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_237 = _GEN_22 + _onehot_decode_T_235; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_239 = _onehot_decode_T_233[1:0] + _onehot_decode_T_237[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_241 = decoded[72] + decoded[73]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_23 = {{1'd0}, decoded[71]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_243 = _GEN_23 + _onehot_decode_T_241; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_245 = decoded[74] + decoded[75]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_247 = decoded[76] + decoded[77]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_249 = _onehot_decode_T_245 + _onehot_decode_T_247; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_243[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_251 = _GEN_24 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_253 = _onehot_decode_T_239 + _onehot_decode_T_251[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_255 = _onehot_decode_T_229 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_257 = decoded[79] + decoded[80]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_25 = {{1'd0}, decoded[78]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_259 = _GEN_25 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_261 = decoded[82] + decoded[83]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_26 = {{1'd0}, decoded[81]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_263 = _GEN_26 + _onehot_decode_T_261; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_265 = _onehot_decode_T_259[1:0] + _onehot_decode_T_263[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_267 = decoded[85] + decoded[86]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_27 = {{1'd0}, decoded[84]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_269 = _GEN_27 + _onehot_decode_T_267; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_271 = decoded[87] + decoded[88]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_273 = decoded[89] + decoded[90]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_275 = _onehot_decode_T_271 + _onehot_decode_T_273; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_269[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_277 = _GEN_28 + _onehot_decode_T_275; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_279 = _onehot_decode_T_265 + _onehot_decode_T_277[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_281 = decoded[92] + decoded[93]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_29 = {{1'd0}, decoded[91]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_283 = _GEN_29 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_285 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_287 = decoded[96] + decoded[97]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_289 = _onehot_decode_T_285 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_30 = {{1'd0}, _onehot_decode_T_283[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_291 = _GEN_30 + _onehot_decode_T_289; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_293 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_31 = {{1'd0}, decoded[98]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_295 = _GEN_31 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_297 = decoded[101] + decoded[102]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_299 = decoded[103] + io_undef_value__52; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_301 = _onehot_decode_T_297 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_295[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_303 = _GEN_32 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_305 = _onehot_decode_T_291[2:0] + _onehot_decode_T_303[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_307 = _onehot_decode_T_279 + _onehot_decode_T_305; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_309 = _onehot_decode_T_255 + _onehot_decode_T_307; // @[Bitwise.scala 48:55]
-  wire [6:0] onehot_decode = _onehot_decode_T_205 + _onehot_decode_T_309; // @[Bitwise.scala 48:55]
-  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 817:24]
-  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 817:24]
-  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 817:36]
+  wire [2:0] _onehot_decode_T_115 = _GEN_3 + _onehot_decode_T_113; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_117 = decoded[10] + decoded[11]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_4 = {{1'd0}, decoded[9]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_119 = _GEN_4 + _onehot_decode_T_117; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_121 = _onehot_decode_T_115[1:0] + _onehot_decode_T_119[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_123 = _onehot_decode_T_111 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_125 = decoded[13] + decoded[14]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_5 = {{1'd0}, decoded[12]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_127 = _GEN_5 + _onehot_decode_T_125; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_129 = decoded[16] + decoded[17]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_6 = {{1'd0}, decoded[15]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_131 = _GEN_6 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_133 = _onehot_decode_T_127[1:0] + _onehot_decode_T_131[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_135 = decoded[19] + decoded[20]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_7 = {{1'd0}, decoded[18]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_137 = _GEN_7 + _onehot_decode_T_135; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_139 = decoded[21] + decoded[22]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_141 = decoded[23] + decoded[24]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_143 = _onehot_decode_T_139 + _onehot_decode_T_141; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_137[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_145 = _GEN_8 + _onehot_decode_T_143; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_147 = _onehot_decode_T_133 + _onehot_decode_T_145[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_149 = _onehot_decode_T_123 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_151 = decoded[26] + decoded[27]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_9 = {{1'd0}, decoded[25]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_153 = _GEN_9 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_155 = decoded[29] + decoded[30]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_10 = {{1'd0}, decoded[28]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_157 = _GEN_10 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_159 = _onehot_decode_T_153[1:0] + _onehot_decode_T_157[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_161 = decoded[32] + decoded[33]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_11 = {{1'd0}, decoded[31]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_163 = _GEN_11 + _onehot_decode_T_161; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_165 = decoded[34] + decoded[35]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_167 = decoded[36] + decoded[37]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_169 = _onehot_decode_T_165 + _onehot_decode_T_167; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_163[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_171 = _GEN_12 + _onehot_decode_T_169; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_173 = _onehot_decode_T_159 + _onehot_decode_T_171[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_175 = decoded[39] + decoded[40]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_13 = {{1'd0}, decoded[38]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_177 = _GEN_13 + _onehot_decode_T_175; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_179 = decoded[42] + decoded[43]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_14 = {{1'd0}, decoded[41]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_181 = _GEN_14 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_183 = _onehot_decode_T_177[1:0] + _onehot_decode_T_181[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_185 = decoded[45] + decoded[46]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_15 = {{1'd0}, decoded[44]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_187 = _GEN_15 + _onehot_decode_T_185; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_189 = decoded[47] + decoded[48]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_191 = decoded[49] + decoded[50]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_193 = _onehot_decode_T_189 + _onehot_decode_T_191; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_187[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_195 = _GEN_16 + _onehot_decode_T_193; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_197 = _onehot_decode_T_183 + _onehot_decode_T_195[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_199 = _onehot_decode_T_173 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_201 = _onehot_decode_T_149 + _onehot_decode_T_199; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_203 = decoded[52] + decoded[53]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_17 = {{1'd0}, decoded[51]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_205 = _GEN_17 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_207 = decoded[55] + decoded[56]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_18 = {{1'd0}, decoded[54]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_209 = _GEN_18 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_211 = _onehot_decode_T_205[1:0] + _onehot_decode_T_209[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_213 = decoded[58] + decoded[59]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_19 = {{1'd0}, decoded[57]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_215 = _GEN_19 + _onehot_decode_T_213; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_217 = decoded[60] + decoded[61]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_219 = decoded[62] + decoded[63]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_221 = _onehot_decode_T_217 + _onehot_decode_T_219; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_215[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_223 = _GEN_20 + _onehot_decode_T_221; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_225 = _onehot_decode_T_211 + _onehot_decode_T_223[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_227 = decoded[65] + decoded[66]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_21 = {{1'd0}, decoded[64]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_229 = _GEN_21 + _onehot_decode_T_227; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_231 = decoded[68] + decoded[69]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_22 = {{1'd0}, decoded[67]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_233 = _GEN_22 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_235 = _onehot_decode_T_229[1:0] + _onehot_decode_T_233[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_237 = decoded[71] + decoded[72]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_23 = {{1'd0}, decoded[70]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_239 = _GEN_23 + _onehot_decode_T_237; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_241 = decoded[73] + decoded[74]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_243 = decoded[75] + decoded[76]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_245 = _onehot_decode_T_241 + _onehot_decode_T_243; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_239[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_247 = _GEN_24 + _onehot_decode_T_245; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_249 = _onehot_decode_T_235 + _onehot_decode_T_247[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_251 = _onehot_decode_T_225 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_253 = decoded[78] + decoded[79]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_25 = {{1'd0}, decoded[77]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_255 = _GEN_25 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_257 = decoded[81] + decoded[82]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_26 = {{1'd0}, decoded[80]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_259 = _GEN_26 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_261 = _onehot_decode_T_255[1:0] + _onehot_decode_T_259[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_263 = decoded[84] + decoded[85]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_27 = {{1'd0}, decoded[83]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_265 = _GEN_27 + _onehot_decode_T_263; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_267 = decoded[86] + decoded[87]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_269 = decoded[88] + decoded[89]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_271 = _onehot_decode_T_267 + _onehot_decode_T_269; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_265[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_273 = _GEN_28 + _onehot_decode_T_271; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_275 = _onehot_decode_T_261 + _onehot_decode_T_273[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_277 = decoded[91] + decoded[92]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_29 = {{1'd0}, decoded[90]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_279 = _GEN_29 + _onehot_decode_T_277; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_281 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_30 = {{1'd0}, decoded[93]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_283 = _GEN_30 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_285 = _onehot_decode_T_279[1:0] + _onehot_decode_T_283[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_287 = decoded[97] + decoded[98]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_31 = {{1'd0}, decoded[96]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_289 = _GEN_31 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_291 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_293 = decoded[101] + io_undef_value__51; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_295 = _onehot_decode_T_291 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_289[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_297 = _GEN_32 + _onehot_decode_T_295; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_299 = _onehot_decode_T_285 + _onehot_decode_T_297[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_301 = _onehot_decode_T_275 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_303 = _onehot_decode_T_251 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
+  wire [6:0] onehot_decode = _onehot_decode_T_201 + _onehot_decode_T_303; // @[Bitwise.scala 48:55]
+  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 803:24]
+  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 803:24]
+  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 803:36]
   assign io_imm12 = {_io_imm12_T_2,io_inst[31:20]}; // @[Cat.scala 31:58]
   assign io_imm20 = {io_inst[31:12],12'h0}; // @[Cat.scala 31:58]
   assign io_immjal = {io_immjal_hi,io_immjal_lo}; // @[Cat.scala 31:58]
   assign io_immbr = {io_immbr_hi,io_immbr_lo}; // @[Cat.scala 31:58]
-  assign io_immcsr = {{27'd0}, io_inst[19:15]}; // @[Decode.scala 585:13]
+  assign io_immcsr = {{27'd0}, io_inst[19:15]}; // @[Decode.scala 578:13]
   assign io_immst = {io_immst_hi,io_inst[11:7]}; // @[Cat.scala 31:58]
-  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_csrrw = _io_csrrw_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_csrrs = _io_csrrs_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_csrrc = _io_csrrc_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fence = _io_fence_T_19 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_div = _io_div_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_divu = _io_divu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_rem = _io_rem_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_remu = _io_remu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_flw = _io_lw_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fsw = _io_sw_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmadd = _io_fmadd_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmsub = _io_fmadd_T_5 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fnmsub = _io_fnmsub_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fnmadd = _io_fmadd_T_4 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fadd = _io_fadd_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fsub = _io_fsub_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmul = _io_fmul_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fdiv = _io_fdiv_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fsqrt = _io_fsqrt_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fsgnj = _io_fsgnj_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fsgnjn = _io_fsgnjn_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fsgnjx = _io_fsgnjx_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmin = _io_fmin_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmax = _io_fmax_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fcvtws = _io_fcvtws_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fcvtwus = _io_fcvtwus_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmvxw = _io_fmvxw_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_feq = _io_feq_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_flt = _io_flt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fle = _io_fle_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fclass = _io_fclass_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fcvtsw = _io_fcvtsw_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fcvtswu = _io_fcvtswu_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fmvwx = _io_fmvwx_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_clb = _io_clb_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 688:97]
-  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 689:76]
-  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 694:71]
-  assign io_viop = _io_viop_T_9 | vdupi; // @[Decode.scala 713:20]
-  assign io_vfop = vfma | vfma4 | vdupf; // @[Decode.scala 708:28]
-  assign io_ebreak = _io_ebreak_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ecall = _io_ecall_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_eexit = _io_eexit_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_eyield = _io_eyield_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ectxsw = _io_ectxsw_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mpause = _io_mpause_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mret = _io_mret_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 810:15]
-  assign io_fencei = _io_fencei_T_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_flushat = _io_flushat_T_23 & _io_getvl_T_20; // @[Decode.scala 726:76]
-  assign io_flushall = _io_flushall_T_25 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slog = _slog_T_21 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_csrrw = _io_csrrw_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_csrrs = _io_csrrs_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_csrrc = _io_csrrc_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fence = _io_fence_T_19 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_div = _io_div_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_divu = _io_divu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_rem = _io_rem_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_remu = _io_remu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_flw = _io_lw_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fsw = _io_sw_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmadd = _io_fmadd_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmsub = _io_fmadd_T_5 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fnmsub = _io_fnmsub_T_6 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fnmadd = _io_fmadd_T_4 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fadd = _io_fadd_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fsub = _io_fsub_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmul = _io_fmul_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fdiv = _io_fdiv_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fsqrt = _io_fsqrt_T_11 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fsgnj = _io_fsgnj_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fsgnjn = _io_fsgnjn_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fsgnjx = _io_fsgnjx_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmin = _io_fmin_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmax = _io_fmax_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fcvtws = _io_fcvtws_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fcvtwus = _io_fcvtwus_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmvxw = _io_fmvxw_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_feq = _io_feq_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_flt = _io_flt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fle = _io_fle_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fclass = _io_fclass_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fcvtsw = _io_fcvtsw_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fcvtswu = _io_fcvtswu_T_16 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fmvwx = _io_fmvwx_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 680:97]
+  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 681:76]
+  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 686:71]
+  assign io_viop = _io_viop_T_5 | vdupi; // @[Decode.scala 699:20]
+  assign io_ebreak = _io_ebreak_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ecall = _io_ecall_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_eexit = _io_eexit_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_eyield = _io_eyield_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ectxsw = _io_ectxsw_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mpause = _io_mpause_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mret = _io_mret_T_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 796:15]
+  assign io_fencei = _io_fencei_T_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_flushat = _io_flushat_T_23 & _io_getvl_T_20; // @[Decode.scala 712:76]
+  assign io_flushall = _io_flushall_T_25 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slog = _slog_T_21 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   always @(posedge clock) begin
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fatal; // @[Decode.scala 814:9]
+          $fatal; // @[Decode.scala 800:9]
         end
     `ifdef STOP_COND
       end
@@ -8616,7 +8593,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:814 assert(!onehot_failed)\n"); // @[Decode.scala 814:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:800 assert(!onehot_failed)\n"); // @[Decode.scala 800:9]
         end
     `ifdef PRINTF_COND
       end
@@ -8628,7 +8605,7 @@
     `endif
         if (_T_6 & _T_2) begin
           $fwrite(32'h80000002,"[FAIL] decode  inst=%x  addr=%x  decoded=0b%b  pipeline=%d\n",io_inst,io_addr,decoded,1'h0
-            ); // @[Decode.scala 819:11]
+            ); // @[Decode.scala 805:11]
         end
     `ifdef PRINTF_COND
       end
@@ -8636,10 +8613,10 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Decode.scala 817:45]
-      onehot_failed <= 1'h0; // @[Decode.scala 818:19]
+    if (reset) begin // @[Decode.scala 803:45]
+      onehot_failed <= 1'h0; // @[Decode.scala 804:19]
     end else begin
-      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 813:30]
+      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 799:30]
     end
   end
 // Register and memory initialization
@@ -8720,7 +8697,7 @@
   output [31:0] io_busRead_immed,
   output        io_alu_valid,
   output [4:0]  io_alu_addr,
-  output [18:0] io_alu_op,
+  output [17:0] io_alu_op,
   output        io_bru_valid,
   output        io_bru_fwd,
   output [16:0] io_bru_op,
@@ -8747,14 +8724,14 @@
   output [4:0]  io_fpu_raddr_1,
   output [4:0]  io_fpu_raddr_2,
   output [4:0]  io_fpu_waddr,
-  output [26:0] io_fpu_op,
+  output [25:0] io_fpu_op,
   input         io_fpu_busyFDiv,
   input         io_fpu_busyFSqrt,
   output        io_vinst_valid,
   input         io_vinst_ready,
   output [4:0]  io_vinst_addr,
   output [31:0] io_vinst_inst,
-  output [5:0]  io_vinst_op,
+  output [4:0]  io_vinst_op,
   input         io_branchTaken,
   input         io_interlock,
   output        io_serializeOut_mul,
@@ -8852,7 +8829,6 @@
   wire  d_io_fcvtsw; // @[Decode.scala 91:17]
   wire  d_io_fcvtswu; // @[Decode.scala 91:17]
   wire  d_io_fmvwx; // @[Decode.scala 91:17]
-  wire  d_io_clb; // @[Decode.scala 91:17]
   wire  d_io_clz; // @[Decode.scala 91:17]
   wire  d_io_ctz; // @[Decode.scala 91:17]
   wire  d_io_pcnt; // @[Decode.scala 91:17]
@@ -8865,7 +8841,6 @@
   wire  d_io_vld; // @[Decode.scala 91:17]
   wire  d_io_vst; // @[Decode.scala 91:17]
   wire  d_io_viop; // @[Decode.scala 91:17]
-  wire  d_io_vfop; // @[Decode.scala 91:17]
   wire  d_io_ebreak; // @[Decode.scala 91:17]
   wire  d_io_ecall; // @[Decode.scala 91:17]
   wire  d_io_eexit; // @[Decode.scala 91:17]
@@ -8888,7 +8863,7 @@
   wire  isAluImm = _isAluImm_T_3 | d_io_andi | d_io_slli | d_io_srli | d_io_srai; // @[Decode.scala 104:66]
   wire  _isAluReg_T_4 = d_io_add | d_io_sub | d_io_slt | d_io_sltu | d_io_xor | d_io_or; // @[Decode.scala 106:76]
   wire  isAluReg = _isAluReg_T_4 | d_io_and | d_io_sll | d_io_srl | d_io_sra; // @[Decode.scala 107:62]
-  wire  isAlu1Bit = d_io_clb | d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:52]
+  wire  isAlu1Bit = d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:40]
   wire  isAlu2Bit = d_io_min | d_io_minu | d_io_max | d_io_maxu; // @[Decode.scala 110:53]
   wire  _isCondBr_T_3 = d_io_beq | d_io_bne | d_io_blt | d_io_bge | d_io_bltu; // @[Decode.scala 112:63]
   wire  isCondBr = _isCondBr_T_3 | d_io_bgeu; // @[Decode.scala 113:28]
@@ -8908,48 +8883,44 @@
   wire  fpuRs1 = d_io_fmadd | d_io_fmsub | d_io_fnmsub | d_io_fnmadd | d_io_fadd | d_io_fsub | d_io_fmul | d_io_fdiv |
     d_io_fsqrt | d_io_fsgnj | d_io_fsgnjn | d_io_fsgnjx | d_io_fmin | d_io_fmax | d_io_fcvtws | d_io_feq | d_io_flt |
     d_io_fle | d_io_fclass | d_io_fcvtws | d_io_fcvtwus | d_io_fmvxw; // @[Decode.scala 128:304]
-  wire  _fpuRs2_T_17 = d_io_vfop & io_inst_inst[1]; // @[Decode.scala 129:255]
   wire  fpuRs2 = _fpuRs1_T_2 | d_io_fsw | d_io_fadd | d_io_fsub | d_io_fmul | d_io_fdiv | d_io_fsgnj | d_io_fsgnjn |
-    d_io_fsgnjx | d_io_fmin | d_io_fmax | d_io_feq | d_io_flt | d_io_fle | d_io_vfop & io_inst_inst[1]; // @[Decode.scala 129:241]
+    d_io_fsgnjx | d_io_fmin | d_io_fmax | d_io_feq | d_io_flt | d_io_fle; // @[Decode.scala 129:229]
   wire  isFloat = fpuRs1 | fpuRs2 | _fpuRs1_T_2 | fpuRd; // @[Decode.scala 131:44]
-  wire  isVFop = io_vinst_op[5]; // @[Decode.scala 133:27]
-  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 134:27]
-  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 137:26]
-  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 141:37]
-  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr | isFloat & ~(d_io_fcvtws | d_io_fcvtwus | d_io_fmvxw); // @[Decode.scala 141:83]
-  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 142:37]
-  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc | isVFop | isFloat & ~(d_io_fcvtsw | d_io_fcvtswu |
-    d_io_fmvwx); // @[Decode.scala 142:93]
-  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 143:37]
-  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isVFop | isAluImm | isAlu1Bit | isFloat; // @[Decode.scala 143:118]
-  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 146:35]
-  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 149:48]
-  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 150:35]
-  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 149:58]
-  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 156:20]
-  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 158:49]
-  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 157:50]
-  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 156:15]
-  wire  _lsuEn_T_18 = io_lsu_ready & _lsuEn_T_17; // @[Decode.scala 155:50]
-  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 153:22]
-  wire [31:0] _fpuEn_T_1 = io_fscoreboard >> rdAddr; // @[Decode.scala 164:52]
-  wire [31:0] _fpuEn_T_4 = io_fscoreboard >> io_inst_inst[19:15]; // @[Decode.scala 165:53]
-  wire  _fpuEn_T_6 = fpuRs1 & _fpuEn_T_4[0]; // @[Decode.scala 165:36]
-  wire  _fpuEn_T_7 = fpuRd & _fpuEn_T_1[0] | _fpuEn_T_6; // @[Decode.scala 164:61]
-  wire [31:0] _fpuEn_T_8 = io_fscoreboard >> rs2Addr; // @[Decode.scala 166:53]
-  wire  _fpuEn_T_10 = fpuRs2 & _fpuEn_T_8[0]; // @[Decode.scala 166:36]
-  wire  _fpuEn_T_11 = _fpuEn_T_7 | _fpuEn_T_10; // @[Decode.scala 165:63]
-  wire [31:0] _fpuEn_T_12 = io_fscoreboard >> rs3Addr; // @[Decode.scala 167:53]
-  wire  _fpuEn_T_14 = _fpuRs1_T_2 & _fpuEn_T_12[0]; // @[Decode.scala 167:36]
-  wire  _fpuEn_T_15 = _fpuEn_T_11 | _fpuEn_T_14; // @[Decode.scala 166:63]
-  wire  _fpuEn_T_16 = d_io_fdiv & io_fpu_busyFDiv; // @[Decode.scala 168:39]
-  wire  _fpuEn_T_17 = _fpuEn_T_15 | _fpuEn_T_16; // @[Decode.scala 167:63]
-  wire  _fpuEn_T_18 = d_io_fsqrt & io_fpu_busyFSqrt; // @[Decode.scala 169:40]
-  wire  _fpuEn_T_19 = _fpuEn_T_17 | _fpuEn_T_18; // @[Decode.scala 168:58]
-  wire  fpuEn = ~isFloat | ~_fpuEn_T_19; // @[Decode.scala 164:24]
-  wire  vinstEn = ~(io_vinst_op != 6'h0 & ~io_vinst_ready); // @[Decode.scala 174:17]
-  wire  fenceEn = ~(d_io_fence & io_mactive); // @[Decode.scala 178:17]
-  wire  aluValid_value__9 = io_alu_op[18]; // @[Library.scala 182:26]
+  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 133:27]
+  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 136:26]
+  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 140:37]
+  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr | isFloat & ~(d_io_fcvtws | d_io_fcvtwus | d_io_fmvxw); // @[Decode.scala 140:83]
+  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 141:37]
+  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc | isFloat & ~(d_io_fcvtsw | d_io_fcvtswu | d_io_fmvwx); // @[Decode.scala 141:83]
+  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 142:37]
+  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isAluImm | isAlu1Bit | isFloat; // @[Decode.scala 142:108]
+  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 145:35]
+  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 148:48]
+  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 149:35]
+  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 148:58]
+  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 155:20]
+  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 157:49]
+  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 156:50]
+  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 155:15]
+  wire  _lsuEn_T_18 = io_lsu_ready & _lsuEn_T_17; // @[Decode.scala 154:50]
+  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 152:22]
+  wire [31:0] _fpuEn_T_1 = io_fscoreboard >> rdAddr; // @[Decode.scala 163:52]
+  wire [31:0] _fpuEn_T_4 = io_fscoreboard >> io_inst_inst[19:15]; // @[Decode.scala 164:53]
+  wire  _fpuEn_T_6 = fpuRs1 & _fpuEn_T_4[0]; // @[Decode.scala 164:36]
+  wire  _fpuEn_T_7 = fpuRd & _fpuEn_T_1[0] | _fpuEn_T_6; // @[Decode.scala 163:61]
+  wire [31:0] _fpuEn_T_8 = io_fscoreboard >> rs2Addr; // @[Decode.scala 165:53]
+  wire  _fpuEn_T_10 = fpuRs2 & _fpuEn_T_8[0]; // @[Decode.scala 165:36]
+  wire  _fpuEn_T_11 = _fpuEn_T_7 | _fpuEn_T_10; // @[Decode.scala 164:63]
+  wire [31:0] _fpuEn_T_12 = io_fscoreboard >> rs3Addr; // @[Decode.scala 166:53]
+  wire  _fpuEn_T_14 = _fpuRs1_T_2 & _fpuEn_T_12[0]; // @[Decode.scala 166:36]
+  wire  _fpuEn_T_15 = _fpuEn_T_11 | _fpuEn_T_14; // @[Decode.scala 165:63]
+  wire  _fpuEn_T_16 = d_io_fdiv & io_fpu_busyFDiv; // @[Decode.scala 167:39]
+  wire  _fpuEn_T_17 = _fpuEn_T_15 | _fpuEn_T_16; // @[Decode.scala 166:63]
+  wire  _fpuEn_T_18 = d_io_fsqrt & io_fpu_busyFSqrt; // @[Decode.scala 168:40]
+  wire  _fpuEn_T_19 = _fpuEn_T_17 | _fpuEn_T_18; // @[Decode.scala 167:58]
+  wire  fpuEn = ~isFloat | ~_fpuEn_T_19; // @[Decode.scala 163:24]
+  wire  vinstEn = ~(io_vinst_op != 5'h0 & ~io_vinst_ready); // @[Decode.scala 172:17]
+  wire  fenceEn = ~(d_io_fence & io_mactive); // @[Decode.scala 176:17]
   wire  aluValid_value__0 = io_alu_op[0] | io_alu_op[1]; // @[Library.scala 194:39]
   wire  aluValid_value__1 = io_alu_op[2] | io_alu_op[3]; // @[Library.scala 194:39]
   wire  aluValid_value__2 = io_alu_op[4] | io_alu_op[5]; // @[Library.scala 194:39]
@@ -8963,32 +8934,30 @@
   wire  aluValid_value_1_1 = aluValid_value__2 | aluValid_value__3; // @[Library.scala 194:39]
   wire  aluValid_value_1_2 = aluValid_value__4 | aluValid_value__5; // @[Library.scala 194:39]
   wire  aluValid_value_1_3 = aluValid_value__6 | aluValid_value__7; // @[Library.scala 194:39]
-  wire  aluValid_value_1_4 = aluValid_value__8 | aluValid_value__9; // @[Library.scala 194:39]
   wire  aluValid_value_2_0 = aluValid_value_1_0 | aluValid_value_1_1; // @[Library.scala 194:39]
   wire  aluValid_value_2_1 = aluValid_value_1_2 | aluValid_value_1_3; // @[Library.scala 194:39]
   wire  aluValid_value_3_0 = aluValid_value_2_0 | aluValid_value_2_1; // @[Library.scala 194:39]
-  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value_1_4; // @[Library.scala 194:39]
-  wire  aluOp_1 = d_io_sub; // @[Decode.scala 182:19 189:19]
-  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 188:46]
-  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 191:33]
-  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 190:32]
-  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 193:31]
-  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 192:32]
-  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 196:32]
-  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 195:32]
-  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 194:32]
-  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 186:22]
-  wire  aluOp_10 = d_io_lui; // @[Decode.scala 182:19 198:19]
-  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 197:32]
-  wire  aluOp_13 = d_io_ctz; // @[Decode.scala 182:19 201:19]
-  wire  aluOp_12 = d_io_clz; // @[Decode.scala 182:19 200:19]
-  wire  aluOp_11 = d_io_clb; // @[Decode.scala 182:19 199:19]
-  wire  aluOp_15 = d_io_min; // @[Decode.scala 182:19 203:19]
-  wire  aluOp_14 = d_io_pcnt; // @[Decode.scala 182:19 202:19]
-  wire  aluOp_18 = d_io_maxu; // @[Decode.scala 182:19 206:19]
-  wire  aluOp_17 = d_io_max; // @[Decode.scala 182:19 205:19]
-  wire  aluOp_16 = d_io_minu; // @[Decode.scala 182:19 204:19]
-  wire [9:0] io_alu_op_hi = {aluOp_18,aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 186:22]
+  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value__8; // @[Library.scala 194:39]
+  wire  aluOp_1 = d_io_sub; // @[Decode.scala 180:19 187:19]
+  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 186:46]
+  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 189:33]
+  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 188:32]
+  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 191:31]
+  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 190:32]
+  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 194:32]
+  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 193:32]
+  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 192:32]
+  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 184:22]
+  wire  aluOp_10 = d_io_lui; // @[Decode.scala 180:19 196:19]
+  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 195:32]
+  wire  aluOp_12 = d_io_ctz; // @[Decode.scala 180:19 198:19]
+  wire  aluOp_11 = d_io_clz; // @[Decode.scala 180:19 197:19]
+  wire  aluOp_14 = d_io_min; // @[Decode.scala 180:19 200:19]
+  wire  aluOp_13 = d_io_pcnt; // @[Decode.scala 180:19 199:19]
+  wire  aluOp_17 = d_io_maxu; // @[Decode.scala 180:19 203:19]
+  wire  aluOp_16 = d_io_max; // @[Decode.scala 180:19 202:19]
+  wire  aluOp_15 = d_io_minu; // @[Decode.scala 180:19 201:19]
+  wire [8:0] io_alu_op_hi = {aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 184:22]
   wire  bruValid_value__8 = io_bru_op[16]; // @[Library.scala 182:26]
   wire  bruValid_value__0 = io_bru_op[0] | io_bru_op[1]; // @[Library.scala 194:39]
   wire  bruValid_value__1 = io_bru_op[2] | io_bru_op[3]; // @[Library.scala 194:39]
@@ -9006,33 +8975,33 @@
   wire  bruValid_value_2_1 = bruValid_value_1_2 | bruValid_value_1_3; // @[Library.scala 194:39]
   wire  bruValid_value_3_0 = bruValid_value_2_0 | bruValid_value_2_1; // @[Library.scala 194:39]
   wire  bruValid_value_4_0 = bruValid_value_3_0 | bruValid_value__8; // @[Library.scala 194:39]
-  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 210:19 220:19]
-  wire  bruOp_0 = d_io_jal; // @[Decode.scala 210:19 219:19]
-  wire  bruOp_3 = d_io_bne; // @[Decode.scala 210:19 222:19]
-  wire  bruOp_2 = d_io_beq; // @[Decode.scala 210:19 221:19]
-  wire  bruOp_5 = d_io_bge; // @[Decode.scala 210:19 224:19]
-  wire  bruOp_4 = d_io_blt; // @[Decode.scala 210:19 223:19]
-  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 210:19 226:19]
-  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 210:19 225:19]
-  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 214:22]
-  wire  bruOp_9 = d_io_ecall; // @[Decode.scala 210:19 228:21]
-  wire  bruOp_8 = d_io_ebreak; // @[Decode.scala 210:19 227:21]
-  wire  bruOp_11 = d_io_eyield; // @[Decode.scala 210:19 230:21]
-  wire  bruOp_10 = d_io_eexit; // @[Decode.scala 210:19 229:21]
-  wire  bruOp_13 = d_io_mpause; // @[Decode.scala 210:19 232:21]
-  wire  bruOp_12 = d_io_ectxsw; // @[Decode.scala 210:19 231:21]
-  wire  bruOp_16 = d_io_undef; // @[Decode.scala 210:19 235:21]
-  wire  bruOp_15 = d_io_fencei; // @[Decode.scala 210:19 234:21]
-  wire  bruOp_14 = d_io_mret; // @[Decode.scala 210:19 233:21]
-  wire [8:0] io_bru_op_hi = {bruOp_16,bruOp_15,bruOp_14,bruOp_13,bruOp_12,bruOp_11,bruOp_10,bruOp_9,bruOp_8}; // @[Decode.scala 214:22]
-  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 216:38]
+  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 207:19 217:19]
+  wire  bruOp_0 = d_io_jal; // @[Decode.scala 207:19 216:19]
+  wire  bruOp_3 = d_io_bne; // @[Decode.scala 207:19 219:19]
+  wire  bruOp_2 = d_io_beq; // @[Decode.scala 207:19 218:19]
+  wire  bruOp_5 = d_io_bge; // @[Decode.scala 207:19 221:19]
+  wire  bruOp_4 = d_io_blt; // @[Decode.scala 207:19 220:19]
+  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 207:19 223:19]
+  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 207:19 222:19]
+  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 211:22]
+  wire  bruOp_9 = d_io_ecall; // @[Decode.scala 207:19 225:21]
+  wire  bruOp_8 = d_io_ebreak; // @[Decode.scala 207:19 224:21]
+  wire  bruOp_11 = d_io_eyield; // @[Decode.scala 207:19 227:21]
+  wire  bruOp_10 = d_io_eexit; // @[Decode.scala 207:19 226:21]
+  wire  bruOp_13 = d_io_mpause; // @[Decode.scala 207:19 229:21]
+  wire  bruOp_12 = d_io_ectxsw; // @[Decode.scala 207:19 228:21]
+  wire  bruOp_16 = d_io_undef; // @[Decode.scala 207:19 232:21]
+  wire  bruOp_15 = d_io_fencei; // @[Decode.scala 207:19 231:21]
+  wire  bruOp_14 = d_io_mret; // @[Decode.scala 207:19 230:21]
+  wire [8:0] io_bru_op_hi = {bruOp_16,bruOp_15,bruOp_14,bruOp_13,bruOp_12,bruOp_11,bruOp_10,bruOp_9,bruOp_8}; // @[Decode.scala 211:22]
+  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 213:38]
   wire  csrValid_value__1 = io_csr_op[2]; // @[Library.scala 182:26]
   wire  csrValid_value__0 = io_csr_op[0] | io_csr_op[1]; // @[Library.scala 194:39]
   wire  csrValid_value_1_0 = csrValid_value__0 | csrValid_value__1; // @[Library.scala 194:39]
-  wire  csrOp_2 = d_io_csrrc; // @[Decode.scala 239:19 248:20]
-  wire  csrOp_1 = d_io_csrrs; // @[Decode.scala 239:19 247:20]
-  wire [1:0] io_csr_op_hi = {csrOp_2,csrOp_1}; // @[Decode.scala 244:22]
-  wire  csrOp_0 = d_io_csrrw; // @[Decode.scala 239:19 246:20]
+  wire  csrOp_2 = d_io_csrrc; // @[Decode.scala 236:19 245:20]
+  wire  csrOp_1 = d_io_csrrs; // @[Decode.scala 236:19 244:20]
+  wire [1:0] io_csr_op_hi = {csrOp_2,csrOp_1}; // @[Decode.scala 241:22]
+  wire  csrOp_0 = d_io_csrrw; // @[Decode.scala 236:19 243:20]
   wire  lsuValid_value__0 = io_lsu_op[0] | io_lsu_op[1]; // @[Library.scala 194:39]
   wire  lsuValid_value__1 = io_lsu_op[2] | io_lsu_op[3]; // @[Library.scala 194:39]
   wire  lsuValid_value__2 = io_lsu_op[4] | io_lsu_op[5]; // @[Library.scala 194:39]
@@ -9046,20 +9015,20 @@
   wire  lsuValid_value_2_0 = lsuValid_value_1_0 | lsuValid_value_1_1; // @[Library.scala 194:39]
   wire  lsuValid_value_2_1 = lsuValid_value_1_2 | lsuValid_value__6; // @[Library.scala 194:39]
   wire  lsuValid_value_3_0 = lsuValid_value_2_0 | lsuValid_value_2_1; // @[Library.scala 194:39]
-  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 252:19 261:18]
-  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 252:19 260:18]
-  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 252:19 259:18]
-  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 252:19 263:18]
-  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 252:19 262:18]
-  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 252:19 265:18]
-  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 252:19 264:18]
-  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 257:22]
-  wire  lsuOp_9 = d_io_fsw; // @[Decode.scala 252:19 271:18]
-  wire  lsuOp_8 = d_io_flw; // @[Decode.scala 252:19 270:18]
-  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 252:19 266:18]
-  wire  lsuOp_11 = d_io_flushat; // @[Decode.scala 252:19 268:23]
-  wire  lsuOp_12 = d_io_flushall; // @[Decode.scala 252:19 269:23]
-  wire [6:0] io_lsu_op_hi = {vldst,lsuOp_12,lsuOp_11,bruOp_15,lsuOp_9,lsuOp_8,lsuOp_7}; // @[Decode.scala 257:22]
+  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 249:19 258:18]
+  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 249:19 257:18]
+  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 249:19 256:18]
+  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 249:19 260:18]
+  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 249:19 259:18]
+  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 249:19 262:18]
+  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 249:19 261:18]
+  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 254:22]
+  wire  lsuOp_9 = d_io_fsw; // @[Decode.scala 249:19 268:18]
+  wire  lsuOp_8 = d_io_flw; // @[Decode.scala 249:19 267:18]
+  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 249:19 263:18]
+  wire  lsuOp_11 = d_io_flushat; // @[Decode.scala 249:19 265:23]
+  wire  lsuOp_12 = d_io_flushall; // @[Decode.scala 249:19 266:23]
+  wire [6:0] io_lsu_op_hi = {vldst,lsuOp_12,lsuOp_11,bruOp_15,lsuOp_9,lsuOp_8,lsuOp_7}; // @[Decode.scala 254:22]
   wire  mluValid_value__4 = io_mlu_op[8]; // @[Library.scala 182:26]
   wire  mluValid_value__0 = io_mlu_op[0] | io_mlu_op[1]; // @[Library.scala 194:39]
   wire  mluValid_value__1 = io_mlu_op[2] | io_mlu_op[3]; // @[Library.scala 194:39]
@@ -9069,63 +9038,63 @@
   wire  mluValid_value_1_1 = mluValid_value__2 | mluValid_value__3; // @[Library.scala 194:39]
   wire  mluValid_value_2_0 = mluValid_value_1_0 | mluValid_value_1_1; // @[Library.scala 194:39]
   wire  mluValid_value_3_0 = mluValid_value_2_0 | mluValid_value__4; // @[Library.scala 194:39]
-  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 276:19 283:22]
-  wire  mluOp_0 = d_io_mul; // @[Decode.scala 276:19 282:22]
-  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 276:19 285:22]
-  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 276:19 284:22]
-  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 280:22]
-  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 276:19 287:22]
-  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 276:19 286:22]
-  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 276:19 290:22]
-  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 276:19 289:22]
-  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 276:19 288:22]
-  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 280:22]
+  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 273:19 280:22]
+  wire  mluOp_0 = d_io_mul; // @[Decode.scala 273:19 279:22]
+  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 273:19 282:22]
+  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 273:19 281:22]
+  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 277:22]
+  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 273:19 284:22]
+  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 273:19 283:22]
+  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 273:19 287:22]
+  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 273:19 286:22]
+  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 273:19 285:22]
+  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 277:22]
   wire  dvuValid_value__0 = io_dvu_op[0] | io_dvu_op[1]; // @[Library.scala 194:39]
   wire  dvuValid_value__1 = io_dvu_op[2] | io_dvu_op[3]; // @[Library.scala 194:39]
   wire  dvuValid_value_1_0 = dvuValid_value__0 | dvuValid_value__1; // @[Library.scala 194:39]
-  wire  dvuOp_1 = d_io_divu; // @[Decode.scala 294:19 301:19]
-  wire  dvuOp_0 = d_io_div; // @[Decode.scala 294:19 300:19]
-  wire [1:0] io_dvu_op_lo = {dvuOp_1,dvuOp_0}; // @[Decode.scala 298:22]
-  wire  dvuOp_3 = d_io_remu; // @[Decode.scala 294:19 303:19]
-  wire  dvuOp_2 = d_io_rem; // @[Decode.scala 294:19 302:19]
-  wire [1:0] io_dvu_op_hi = {dvuOp_3,dvuOp_2}; // @[Decode.scala 298:22]
-  wire  dvuEn = ~dvuValid_value_1_0 | io_dvu_ready; // @[Decode.scala 305:42]
+  wire  dvuOp_1 = d_io_divu; // @[Decode.scala 291:19 298:19]
+  wire  dvuOp_0 = d_io_div; // @[Decode.scala 291:19 297:19]
+  wire [1:0] io_dvu_op_lo = {dvuOp_1,dvuOp_0}; // @[Decode.scala 295:22]
+  wire  dvuOp_3 = d_io_remu; // @[Decode.scala 291:19 300:19]
+  wire  dvuOp_2 = d_io_rem; // @[Decode.scala 291:19 299:19]
+  wire [1:0] io_dvu_op_hi = {dvuOp_3,dvuOp_2}; // @[Decode.scala 295:22]
+  wire  dvuEn = ~dvuValid_value_1_0 | io_dvu_ready; // @[Decode.scala 302:42]
   wire  fpuValid_value__0 = lsuOp_8 | lsuOp_9; // @[Library.scala 194:39]
-  wire  fpuOp_2 = d_io_fmadd; // @[Decode.scala 309:19 321:22]
-  wire  fpuOp_3 = d_io_fmsub; // @[Decode.scala 309:19 322:22]
+  wire  fpuOp_2 = d_io_fmadd; // @[Decode.scala 306:19 318:22]
+  wire  fpuOp_3 = d_io_fmsub; // @[Decode.scala 306:19 319:22]
   wire  fpuValid_value__1 = fpuOp_2 | fpuOp_3; // @[Library.scala 194:39]
-  wire  fpuOp_4 = d_io_fnmsub; // @[Decode.scala 309:19 323:22]
-  wire  fpuOp_5 = d_io_fnmadd; // @[Decode.scala 309:19 324:22]
+  wire  fpuOp_4 = d_io_fnmsub; // @[Decode.scala 306:19 320:22]
+  wire  fpuOp_5 = d_io_fnmadd; // @[Decode.scala 306:19 321:22]
   wire  fpuValid_value__2 = fpuOp_4 | fpuOp_5; // @[Library.scala 194:39]
-  wire  fpuOp_6 = d_io_fadd; // @[Decode.scala 309:19 325:22]
-  wire  fpuOp_7 = d_io_fsub; // @[Decode.scala 309:19 326:22]
+  wire  fpuOp_6 = d_io_fadd; // @[Decode.scala 306:19 322:22]
+  wire  fpuOp_7 = d_io_fsub; // @[Decode.scala 306:19 323:22]
   wire  fpuValid_value__3 = fpuOp_6 | fpuOp_7; // @[Library.scala 194:39]
-  wire  fpuOp_8 = d_io_fmul; // @[Decode.scala 309:19 327:22]
-  wire  fpuOp_9 = d_io_fdiv; // @[Decode.scala 309:19 328:22]
+  wire  fpuOp_8 = d_io_fmul; // @[Decode.scala 306:19 324:22]
+  wire  fpuOp_9 = d_io_fdiv; // @[Decode.scala 306:19 325:22]
   wire  fpuValid_value__4 = fpuOp_8 | fpuOp_9; // @[Library.scala 194:39]
-  wire  fpuOp_10 = d_io_fsqrt; // @[Decode.scala 309:19 329:22]
-  wire  fpuOp_11 = d_io_fsgnj; // @[Decode.scala 309:19 330:22]
+  wire  fpuOp_10 = d_io_fsqrt; // @[Decode.scala 306:19 326:22]
+  wire  fpuOp_11 = d_io_fsgnj; // @[Decode.scala 306:19 327:22]
   wire  fpuValid_value__5 = fpuOp_10 | fpuOp_11; // @[Library.scala 194:39]
-  wire  fpuOp_12 = d_io_fsgnjn; // @[Decode.scala 309:19 331:22]
-  wire  fpuOp_13 = d_io_fsgnjx; // @[Decode.scala 309:19 332:22]
+  wire  fpuOp_12 = d_io_fsgnjn; // @[Decode.scala 306:19 328:22]
+  wire  fpuOp_13 = d_io_fsgnjx; // @[Decode.scala 306:19 329:22]
   wire  fpuValid_value__6 = fpuOp_12 | fpuOp_13; // @[Library.scala 194:39]
-  wire  fpuOp_14 = d_io_fmin; // @[Decode.scala 309:19 333:22]
-  wire  fpuOp_15 = d_io_fmax; // @[Decode.scala 309:19 334:22]
+  wire  fpuOp_14 = d_io_fmin; // @[Decode.scala 306:19 330:22]
+  wire  fpuOp_15 = d_io_fmax; // @[Decode.scala 306:19 331:22]
   wire  fpuValid_value__7 = fpuOp_14 | fpuOp_15; // @[Library.scala 194:39]
-  wire  fpuOp_16 = d_io_fcvtws; // @[Decode.scala 309:19 335:22]
-  wire  fpuOp_17 = d_io_fcvtwus; // @[Decode.scala 309:19 336:22]
+  wire  fpuOp_16 = d_io_fcvtws; // @[Decode.scala 306:19 332:22]
+  wire  fpuOp_17 = d_io_fcvtwus; // @[Decode.scala 306:19 333:22]
   wire  fpuValid_value__8 = fpuOp_16 | fpuOp_17; // @[Library.scala 194:39]
-  wire  fpuOp_18 = d_io_fmvxw; // @[Decode.scala 309:19 337:22]
-  wire  fpuOp_19 = d_io_feq; // @[Decode.scala 309:19 338:22]
+  wire  fpuOp_18 = d_io_fmvxw; // @[Decode.scala 306:19 334:22]
+  wire  fpuOp_19 = d_io_feq; // @[Decode.scala 306:19 335:22]
   wire  fpuValid_value__9 = fpuOp_18 | fpuOp_19; // @[Library.scala 194:39]
-  wire  fpuOp_20 = d_io_flt; // @[Decode.scala 309:19 339:22]
-  wire  fpuOp_21 = d_io_fle; // @[Decode.scala 309:19 340:22]
+  wire  fpuOp_20 = d_io_flt; // @[Decode.scala 306:19 336:22]
+  wire  fpuOp_21 = d_io_fle; // @[Decode.scala 306:19 337:22]
   wire  fpuValid_value__10 = fpuOp_20 | fpuOp_21; // @[Library.scala 194:39]
-  wire  fpuOp_22 = d_io_fclass; // @[Decode.scala 309:19 341:22]
-  wire  fpuOp_23 = d_io_fcvtsw; // @[Decode.scala 309:19 342:22]
+  wire  fpuOp_22 = d_io_fclass; // @[Decode.scala 306:19 338:22]
+  wire  fpuOp_23 = d_io_fcvtsw; // @[Decode.scala 306:19 339:22]
   wire  fpuValid_value__11 = fpuOp_22 | fpuOp_23; // @[Library.scala 194:39]
-  wire  fpuOp_24 = d_io_fcvtswu; // @[Decode.scala 309:19 343:22]
-  wire  fpuOp_25 = d_io_fmvwx; // @[Decode.scala 309:19 344:22]
+  wire  fpuOp_24 = d_io_fcvtswu; // @[Decode.scala 306:19 340:22]
+  wire  fpuOp_25 = d_io_fmvwx; // @[Decode.scala 306:19 341:22]
   wire  fpuValid_value__12 = fpuOp_24 | fpuOp_25; // @[Library.scala 194:39]
   wire  fpuValid_value_1_0 = fpuValid_value__0 | fpuValid_value__1; // @[Library.scala 194:39]
   wire  fpuValid_value_1_1 = fpuValid_value__2 | fpuValid_value__3; // @[Library.scala 194:39]
@@ -9133,55 +9102,52 @@
   wire  fpuValid_value_1_3 = fpuValid_value__6 | fpuValid_value__7; // @[Library.scala 194:39]
   wire  fpuValid_value_1_4 = fpuValid_value__8 | fpuValid_value__9; // @[Library.scala 194:39]
   wire  fpuValid_value_1_5 = fpuValid_value__10 | fpuValid_value__11; // @[Library.scala 194:39]
-  wire  fpuValid_value_1_6 = fpuValid_value__12 | _fpuRs2_T_17; // @[Library.scala 194:39]
   wire  fpuValid_value_2_0 = fpuValid_value_1_0 | fpuValid_value_1_1; // @[Library.scala 194:39]
   wire  fpuValid_value_2_1 = fpuValid_value_1_2 | fpuValid_value_1_3; // @[Library.scala 194:39]
   wire  fpuValid_value_2_2 = fpuValid_value_1_4 | fpuValid_value_1_5; // @[Library.scala 194:39]
   wire  fpuValid_value_3_0 = fpuValid_value_2_0 | fpuValid_value_2_1; // @[Library.scala 194:39]
-  wire  fpuValid_value_3_1 = fpuValid_value_2_2 | fpuValid_value_1_6; // @[Library.scala 194:39]
+  wire  fpuValid_value_3_1 = fpuValid_value_2_2 | fpuValid_value__12; // @[Library.scala 194:39]
   wire  fpuValid_value_4_0 = fpuValid_value_3_0 | fpuValid_value_3_1; // @[Library.scala 194:39]
-  wire [5:0] io_fpu_op_lo_lo = {fpuOp_5,fpuOp_4,fpuOp_3,fpuOp_2,lsuOp_9,lsuOp_8}; // @[Decode.scala 313:22]
-  wire [12:0] io_fpu_op_lo = {fpuOp_12,fpuOp_11,fpuOp_10,fpuOp_9,fpuOp_8,fpuOp_7,fpuOp_6,io_fpu_op_lo_lo}; // @[Decode.scala 313:22]
-  wire [6:0] io_fpu_op_hi_lo = {fpuOp_19,fpuOp_18,fpuOp_17,fpuOp_16,fpuOp_15,fpuOp_14,fpuOp_13}; // @[Decode.scala 313:22]
-  wire [13:0] io_fpu_op_hi = {_fpuRs2_T_17,fpuOp_25,fpuOp_24,fpuOp_23,fpuOp_22,fpuOp_21,fpuOp_20,io_fpu_op_hi_lo}; // @[Decode.scala 313:22]
-  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 349:21 361:24]
-  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 349:21 362:27]
+  wire [5:0] io_fpu_op_lo_lo = {fpuOp_5,fpuOp_4,fpuOp_3,fpuOp_2,lsuOp_9,lsuOp_8}; // @[Decode.scala 310:22]
+  wire [12:0] io_fpu_op_lo = {fpuOp_12,fpuOp_11,fpuOp_10,fpuOp_9,fpuOp_8,fpuOp_7,fpuOp_6,io_fpu_op_lo_lo}; // @[Decode.scala 310:22]
+  wire [5:0] io_fpu_op_hi_lo = {fpuOp_18,fpuOp_17,fpuOp_16,fpuOp_15,fpuOp_14,fpuOp_13}; // @[Decode.scala 310:22]
+  wire [12:0] io_fpu_op_hi = {fpuOp_25,fpuOp_24,fpuOp_23,fpuOp_22,fpuOp_21,fpuOp_20,fpuOp_19,io_fpu_op_hi_lo}; // @[Decode.scala 310:22]
+  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 345:21 356:24]
+  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 345:21 357:27]
   wire  vinstValid_value__0 = vinstOp_0 | vinstOp_1; // @[Library.scala 194:39]
-  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 349:21 357:22]
-  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 349:21 358:22]
+  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 345:21 353:22]
+  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 345:21 354:22]
   wire  vinstValid_value__1 = vinstOp_2 | vinstOp_3; // @[Library.scala 194:39]
-  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 349:21 359:23]
-  wire  vinstOp_5 = d_io_vfop; // @[Decode.scala 349:21 360:23]
-  wire  vinstValid_value__2 = vinstOp_4 | vinstOp_5; // @[Library.scala 194:39]
   wire  vinstValid_value_1_0 = vinstValid_value__0 | vinstValid_value__1; // @[Library.scala 194:39]
-  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstValid_value__2; // @[Library.scala 194:39]
-  wire [2:0] io_vinst_op_lo = {vinstOp_2,vinstOp_1,vinstOp_0}; // @[Decode.scala 355:26]
-  wire [2:0] io_vinst_op_hi = {vinstOp_5,vinstOp_4,vinstOp_3}; // @[Decode.scala 355:26]
-  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 368:45]
-  wire  _io_rs1Read_valid_T_4 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit | isCsrImm; // @[Decode.scala 368:95]
-  wire  _io_rs1Read_valid_T_9 = _io_rs1Read_valid_T_4 | isCsrReg | isMul | isDvu | d_io_slog | d_io_fcvtsw; // @[Decode.scala 369:75]
-  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_9 | d_io_fcvtswu | d_io_fmvwx | d_io_getvl | d_io_vld; // @[Decode.scala 370:79]
-  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 371:32]
-  wire  _io_rs2Read_valid_T_3 = _io_rs1Read_valid_T | isAlu2Bit | isStore | isCsrReg; // @[Decode.scala 372:81]
-  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_3 | isMul | isDvu | d_io_slog | d_io_getvl | d_io_vld; // @[Decode.scala 373:77]
-  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 374:44]
-  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 389:45]
-  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 395:16]
+  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 345:21 355:23]
+  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstOp_4; // @[Library.scala 194:39]
+  wire [1:0] io_vinst_op_lo = {vinstOp_1,vinstOp_0}; // @[Decode.scala 351:26]
+  wire [2:0] io_vinst_op_hi = {vinstOp_4,vinstOp_3,vinstOp_2}; // @[Decode.scala 351:26]
+  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 363:45]
+  wire  _io_rs1Read_valid_T_4 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit | isCsrImm; // @[Decode.scala 363:95]
+  wire  _io_rs1Read_valid_T_9 = _io_rs1Read_valid_T_4 | isCsrReg | isMul | isDvu | d_io_slog | d_io_fcvtsw; // @[Decode.scala 364:75]
+  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_9 | d_io_fcvtswu | d_io_fmvwx | d_io_getvl | d_io_vld; // @[Decode.scala 365:79]
+  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 366:32]
+  wire  _io_rs2Read_valid_T_3 = _io_rs1Read_valid_T | isAlu2Bit | isStore | isCsrReg; // @[Decode.scala 367:81]
+  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_3 | isMul | isDvu | d_io_slog | d_io_getvl | d_io_vld; // @[Decode.scala 368:77]
+  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 369:44]
+  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 384:45]
+  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 390:16]
   wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | dvuValid_value_1_0 &
-    io_dvu_ready | _rdMark_valid_T_4; // @[Decode.scala 394:68]
-  wire  _rdMark_valid_T_9 = _rdMark_valid_T_5 | d_io_fcvtws | d_io_fcvtwus | d_io_fmvxw | d_io_feq; // @[Decode.scala 395:71]
-  wire  _rdMark_valid_T_13 = _rdMark_valid_T_9 | d_io_flt | d_io_fle | d_io_fclass | d_io_getvl; // @[Decode.scala 396:55]
-  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 398:55]
-  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 397:47]
+    io_dvu_ready | _rdMark_valid_T_4; // @[Decode.scala 389:68]
+  wire  _rdMark_valid_T_9 = _rdMark_valid_T_5 | d_io_fcvtws | d_io_fcvtwus | d_io_fmvxw | d_io_feq; // @[Decode.scala 390:71]
+  wire  _rdMark_valid_T_13 = _rdMark_valid_T_9 | d_io_flt | d_io_fle | d_io_fclass | d_io_getvl; // @[Decode.scala 391:55]
+  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 393:55]
+  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 392:47]
   wire [31:0] _scoreboard_spec_T = 32'h1 << rdAddr; // @[OneHot.scala 64:12]
-  wire [31:0] scoreboard_spec = rdMark_valid ? _scoreboard_spec_T : 32'h0; // @[Decode.scala 401:28]
-  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 413:65]
-  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 412:8]
-  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 417:47]
-  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 420:30]
-  wire  _io_inst_ready_T_6 = aluEn & bruEn & lsuEn & dvuEn & fpuEn & vinstEn & fenceEn; // @[Decode.scala 425:82]
-  wire  _io_serializeOut_jump_T_2 = bruOp_0 | d_io_jalr | d_io_ebreak; // @[Decode.scala 434:72]
-  wire  _io_serializeOut_jump_T_5 = _io_serializeOut_jump_T_2 | d_io_ecall | d_io_eexit | d_io_eyield; // @[Decode.scala 435:67]
+  wire [31:0] scoreboard_spec = rdMark_valid ? _scoreboard_spec_T : 32'h0; // @[Decode.scala 396:28]
+  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 408:65]
+  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 407:8]
+  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 412:47]
+  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 415:30]
+  wire  _io_inst_ready_T_6 = aluEn & bruEn & lsuEn & dvuEn & fpuEn & vinstEn & fenceEn; // @[Decode.scala 420:82]
+  wire  _io_serializeOut_jump_T_2 = bruOp_0 | d_io_jalr | d_io_ebreak; // @[Decode.scala 429:72]
+  wire  _io_serializeOut_jump_T_5 = _io_serializeOut_jump_T_2 | d_io_ecall | d_io_eexit | d_io_eyield; // @[Decode.scala 430:67]
   DecodedInstruction d ( // @[Decode.scala 91:17]
     .clock(d_clock),
     .reset(d_reset),
@@ -9273,7 +9239,6 @@
     .io_fcvtsw(d_io_fcvtsw),
     .io_fcvtswu(d_io_fcvtswu),
     .io_fmvwx(d_io_fmvwx),
-    .io_clb(d_io_clb),
     .io_clz(d_io_clz),
     .io_ctz(d_io_ctz),
     .io_pcnt(d_io_pcnt),
@@ -9286,7 +9251,6 @@
     .io_vld(d_io_vld),
     .io_vst(d_io_vst),
     .io_viop(d_io_viop),
-    .io_vfop(d_io_vfop),
     .io_ebreak(d_io_ebreak),
     .io_ecall(d_io_ecall),
     .io_eexit(d_io_eexit),
@@ -9300,57 +9264,57 @@
     .io_flushall(d_io_flushall),
     .io_slog(d_io_slog)
   );
-  assign io_inst_ready = _io_inst_ready_T_6 & ~io_halted & ~io_interlock; // @[Decode.scala 426:55]
+  assign io_inst_ready = _io_inst_ready_T_6 & ~io_halted & ~io_interlock; // @[Decode.scala 421:55]
   assign io_scoreboard_spec = {scoreboard_spec[31:1],1'h0}; // @[Cat.scala 31:58]
-  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 368:32]
-  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 377:25]
-  assign io_rs1Set_valid = decodeEn & (d_io_auipc | isCsrImm); // @[Decode.scala 383:31]
-  assign io_rs1Set_value = isCsr ? d_io_immcsr : io_inst_addr; // @[Decode.scala 386:25]
-  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 372:32]
+  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 363:32]
+  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 372:25]
+  assign io_rs1Set_valid = decodeEn & (d_io_auipc | isCsrImm); // @[Decode.scala 378:31]
+  assign io_rs1Set_value = isCsr ? d_io_immcsr : io_inst_addr; // @[Decode.scala 381:25]
+  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 367:32]
   assign io_rs2Read_addr = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 384:38]
+  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 379:38]
   assign io_rs2Set_value = _io_rs2Set_value_T ? d_io_imm20 : d_io_imm12; // @[Mux.scala 101:16]
-  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 404:31]
+  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 399:31]
   assign io_rdMark_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 411:52]
-  assign io_busRead_immen = ~d_io_flushat; // @[Decode.scala 418:23]
+  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 406:52]
+  assign io_busRead_immen = ~d_io_flushat; // @[Decode.scala 413:23]
   assign io_busRead_immed = {d_io_imm12[31:5],_io_busRead_immed_T_3}; // @[Cat.scala 31:58]
-  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 184:28]
+  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 182:28]
   assign io_alu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 186:22]
-  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 212:28]
-  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 213:14]
-  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 214:22]
-  assign io_bru_pc = io_inst_addr; // @[Decode.scala 215:13]
-  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 216:33]
+  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 184:22]
+  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 209:28]
+  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 210:14]
+  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 211:22]
+  assign io_bru_pc = io_inst_addr; // @[Decode.scala 212:13]
+  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 213:33]
   assign io_bru_link = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_csr_valid = decodeEn & csrValid_value_1_0; // @[Decode.scala 241:28]
+  assign io_csr_valid = decodeEn & csrValid_value_1_0; // @[Decode.scala 238:28]
   assign io_csr_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_csr_index = io_inst_inst[31:20]; // @[Decode.scala 243:31]
-  assign io_csr_op = {io_csr_op_hi,csrOp_0}; // @[Decode.scala 244:22]
-  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 254:28]
+  assign io_csr_index = io_inst_inst[31:20]; // @[Decode.scala 240:31]
+  assign io_csr_op = {io_csr_op_hi,csrOp_0}; // @[Decode.scala 241:22]
+  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 251:28]
   assign io_lsu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 257:22]
-  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 278:28]
+  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 254:22]
+  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 275:28]
   assign io_mlu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 280:22]
-  assign io_dvu_valid = decodeEn & dvuValid_value_1_0; // @[Decode.scala 296:28]
+  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 277:22]
+  assign io_dvu_valid = decodeEn & dvuValid_value_1_0; // @[Decode.scala 293:28]
   assign io_dvu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_dvu_op = {io_dvu_op_hi,io_dvu_op_lo}; // @[Decode.scala 298:22]
-  assign io_fpu_valid = decodeEn & fpuValid_value_4_0; // @[Decode.scala 312:28]
+  assign io_dvu_op = {io_dvu_op_hi,io_dvu_op_lo}; // @[Decode.scala 295:22]
+  assign io_fpu_valid = decodeEn & fpuValid_value_4_0; // @[Decode.scala 309:28]
   assign io_fpu_raddr_0 = io_inst_inst[19:15]; // @[Decode.scala 99:29]
   assign io_fpu_raddr_1 = io_inst_inst[24:20]; // @[Decode.scala 100:29]
   assign io_fpu_raddr_2 = io_inst_inst[31:27]; // @[Decode.scala 101:29]
   assign io_fpu_waddr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_fpu_op = {io_fpu_op_hi,io_fpu_op_lo}; // @[Decode.scala 313:22]
-  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 352:30]
+  assign io_fpu_op = {io_fpu_op_hi,io_fpu_op_lo}; // @[Decode.scala 310:22]
+  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 348:30]
   assign io_vinst_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 354:17]
-  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 355:26]
+  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 350:17]
+  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 351:26]
   assign io_serializeOut_mul = mluValid_value_2_0 | mluValid_value__4; // @[Library.scala 194:39]
-  assign io_serializeOut_jump = _io_serializeOut_jump_T_5 | d_io_ectxsw | d_io_mpause | d_io_mret; // @[Decode.scala 436:69]
-  assign io_serializeOut_brcond = bruOp_2 | d_io_bne | d_io_blt | d_io_bge | d_io_bltu | d_io_bgeu; // @[Decode.scala 438:65]
-  assign io_slog = decodeEn & d_io_slog; // @[Decode.scala 365:23]
+  assign io_serializeOut_jump = _io_serializeOut_jump_T_5 | d_io_ectxsw | d_io_mpause | d_io_mret; // @[Decode.scala 431:69]
+  assign io_serializeOut_brcond = bruOp_2 | d_io_bne | d_io_blt | d_io_bge | d_io_bltu | d_io_bgeu; // @[Decode.scala 433:65]
+  assign io_slog = decodeEn & d_io_slog; // @[Decode.scala 360:23]
   assign d_clock = clock;
   assign d_reset = reset;
   assign d_io_addr = io_inst_addr; // @[Decode.scala 92:13]
@@ -9446,7 +9410,6 @@
   output        io_fcvtsw,
   output        io_fcvtswu,
   output        io_fmvwx,
-  output        io_clb,
   output        io_clz,
   output        io_ctz,
   output        io_pcnt,
@@ -9459,7 +9422,6 @@
   output        io_vld,
   output        io_vst,
   output        io_viop,
-  output        io_vfop,
   output        io_ebreak,
   output        io_ecall,
   output        io_eexit,
@@ -9483,343 +9445,328 @@
   wire [4:0] io_immbr_lo = {io_inst[11:8],1'h0}; // @[Cat.scala 31:58]
   wire [26:0] io_immbr_hi = {_io_imm12_T_2,io_inst[7],io_inst[30:25]}; // @[Cat.scala 31:58]
   wire [26:0] io_immst_hi = {_io_imm12_T_2,io_inst[31:25]}; // @[Cat.scala 31:58]
-  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 316:23]
-  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 316:23]
-  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 316:23]
-  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 316:23]
-  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 316:23]
-  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 316:23]
-  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 316:23]
-  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 316:23]
-  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 316:23]
-  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 316:23]
-  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 316:23]
-  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 316:23]
-  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 316:23]
-  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 316:23]
-  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 316:23]
-  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 316:23]
-  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 316:23]
-  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 316:23]
-  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 310:19]
-  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 313:23]
-  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 313:23]
-  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 310:19]
-  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 313:23]
-  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 313:23]
-  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 313:23]
-  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 310:19]
-  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 310:19]
-  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 311:48]
-  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 310:19]
-  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 310:19]
-  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 310:19]
-  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 310:19]
-  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 318:23]
+  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 318:23]
+  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 318:23]
+  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 318:23]
+  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 318:23]
+  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 318:23]
+  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 318:23]
+  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 318:23]
+  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 318:23]
+  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 318:23]
+  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 318:23]
+  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 318:23]
+  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 318:23]
+  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 318:23]
+  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 318:23]
+  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 318:23]
+  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 318:23]
+  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 318:23]
+  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 312:19]
+  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 315:23]
+  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 315:23]
+  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 312:19]
+  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 315:23]
+  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 315:23]
+  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 315:23]
+  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 312:19]
+  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 312:19]
+  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 313:48]
+  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 312:19]
+  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 312:19]
+  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 312:19]
+  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 312:19]
+  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lb_T_7 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lw_T_7 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 &
-    io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+    io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lbu_T_7 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 310:19]
-  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 310:19]
-  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 311:48]
-  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 310:19]
-  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 310:19]
-  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 311:48]
-  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 310:19]
-  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 310:19]
-  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 310:19]
-  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 310:19]
-  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 310:19]
-  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 310:19]
-  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 310:19]
-  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 310:19]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 312:19]
+  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 312:19]
+  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 313:48]
+  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 312:19]
+  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 312:19]
+  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 313:48]
+  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 312:19]
+  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 312:19]
+  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 312:19]
+  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 312:19]
+  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 312:19]
+  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 312:19]
+  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 312:19]
+  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 312:19]
   wire  _io_slli_T_6 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6; // @[Library.scala 311:48]
+     & io_slli_bit_6; // @[Library.scala 313:48]
   wire  _io_slli_T_7 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
   wire  _io_slli_T_8 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 314:48]
-  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 316:48]
+  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_add_T_10 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_sub_T_10 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 310:19]
-  wire  _io_clb_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_clb_T_7 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7; // @[Library.scala 311:48]
-  wire  _io_clb_T_8 = _io_clb_T_7 & io_lui_bit_8; // @[Library.scala 314:48]
-  wire  _io_clb_T_13 = _io_clb_T_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clb_T_14 = _io_clb_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clb_T_16 = _io_clb_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clb_T_17 = _io_clb_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clb_T_19 = _io_clb_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_clz_T_9 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 311:48]
-  wire  _io_clz_T_10 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
-  wire  _io_clz_T_13 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 314:48]
-  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 688:89]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 312:19]
+  wire  _io_clz_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_clz_T_9 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 313:48]
+  wire  _io_clz_T_10 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
+  wire  _io_clz_T_13 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 316:48]
+  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 680:89]
   wire  _io_getmaxvl_T_16 = _io_fmul_T_3 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 &
     io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vst_T_14 = _io_clb_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vst_T_14 = _io_clz_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vconv_T_17 = _io_fsqrt_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8
      & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 &
-    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vdup_T_11 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_6 & io_fence_bit_12 &
-    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 701:72]
-  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 702:20]
-  wire  vdupf = vdup & io_lui_bit_5; // @[Decode.scala 703:20]
-  wire  _vfma_T_1 = ~io_lui_bit_31; // @[Decode.scala 706:21]
-  wire  vfma = ~io_lui_bit_31 & io_inst[4:2] == 3'h5; // @[Decode.scala 706:29]
-  wire  _vfma4_T_1 = io_inst[1:0] == 2'h1; // @[Decode.scala 707:23]
-  wire [3:0] _vfma4_T_4 = {io_inst[13:12],io_inst[4:3]}; // @[Cat.scala 31:58]
-  wire  vfma4 = io_inst[1:0] == 2'h1 & _vfma4_T_4 == 4'h0; // @[Decode.scala 707:31]
-  wire  _io_viop_T_7 = _vfma4_T_1 & ~vfma4; // @[Decode.scala 712:30]
-  wire  _io_viop_T_8 = _vfma_T_1 & ~vfma | _io_viop_T_7; // @[Decode.scala 711:37]
-  wire  _io_viop_T_9 = _io_viop_T_8 | vconv; // @[Decode.scala 712:40]
+    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 693:72]
+  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 694:20]
+  wire  _io_viop_T_3 = io_inst[1:0] == 2'h1; // @[Decode.scala 698:22]
+  wire  _io_viop_T_4 = ~io_lui_bit_31 | _io_viop_T_3; // @[Decode.scala 697:28]
+  wire  _io_viop_T_5 = _io_viop_T_4 | vconv; // @[Decode.scala 698:30]
   wire [5:0] decoded_lo_lo_lo_lo = {io_mpause,io_mret,io_fencei,io_flushat,io_flushall,io_slog}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_lo_lo = {io_getvl,io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,
-    decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vfop,io_vld,io_vst}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_lo_lo = {io_fmvwx,io_clb,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,decoded_lo_lo_lo
-    }; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_lo_lo = {io_feq,io_flt,io_fle,io_fclass,io_fcvtsw,io_fcvtswu}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_hi_lo = {io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,io_fmvxw,decoded_lo_hi_lo_lo}
+  wire [11:0] decoded_lo_lo_lo = {io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vld,io_vst,io_getvl}; // @[Cat.scala 31:58]
+  wire [24:0] decoded_lo_lo = {io_fcvtswu,io_fmvwx,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,
+    decoded_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_hi_lo_lo = {io_fmvxw,io_feq,io_flt,io_fle,io_fclass,io_fcvtsw}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_lo_hi_lo = {io_fsgnj,io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,decoded_lo_hi_lo_lo}
     ; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_hi_lo = {io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt,io_fsgnj}; // @[Cat.scala 31:58]
-  wire [51:0] decoded_lo = {io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,io_fnmadd,decoded_lo_hi_hi_lo,
+  wire [5:0] decoded_lo_hi_hi_lo = {io_fnmadd,io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt}; // @[Cat.scala 31:58]
+  wire [50:0] decoded_lo = {io_rem,io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,decoded_lo_hi_hi_lo,
     decoded_lo_hi_lo,decoded_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu,io_rem}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_lo_lo = {io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,io_mulhsur,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_hi_lo = {io_and,io_slli,io_srli,io_srai,io_sll,io_srl}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_hi_lo = {io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,io_or,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_hi_lo_lo = {io_fence,io_addi,io_slti,io_sltiu,io_xori,io_ori}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_hi_lo = {io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,io_sw,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [6:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc,io_lb}; // @[Cat.scala 31:58]
-  wire [52:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
+  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhsur,io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_lo_lo = {io_srl,io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_lo_hi_lo = {io_or,io_and,io_slli,io_srli,io_srai,io_sll}; // @[Cat.scala 31:58]
+  wire [25:0] decoded_hi_lo = {io_ori,io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_lo_lo = {io_sw,io_fence,io_addi,io_slti,io_sltiu,io_xori}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_hi_lo = {io_lb,io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc}; // @[Cat.scala 31:58]
+  wire [51:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
     decoded_hi_lo}; // @[Cat.scala 31:58]
-  wire [104:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
-  wire  io_undef_value__52 = decoded[104]; // @[Library.scala 182:26]
+  wire [102:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
+  wire  io_undef_value__51 = decoded[102]; // @[Library.scala 182:26]
   wire  io_undef_value__0 = decoded[0] | decoded[1]; // @[Library.scala 194:39]
   wire  io_undef_value__1 = decoded[2] | decoded[3]; // @[Library.scala 194:39]
   wire  io_undef_value__2 = decoded[4] | decoded[5]; // @[Library.scala 194:39]
@@ -9871,7 +9818,6 @@
   wire  io_undef_value__48 = decoded[96] | decoded[97]; // @[Library.scala 194:39]
   wire  io_undef_value__49 = decoded[98] | decoded[99]; // @[Library.scala 194:39]
   wire  io_undef_value__50 = decoded[100] | decoded[101]; // @[Library.scala 194:39]
-  wire  io_undef_value__51 = decoded[102] | decoded[103]; // @[Library.scala 194:39]
   wire  io_undef_value_1_0 = io_undef_value__0 | io_undef_value__1; // @[Library.scala 194:39]
   wire  io_undef_value_1_1 = io_undef_value__2 | io_undef_value__3; // @[Library.scala 194:39]
   wire  io_undef_value_1_2 = io_undef_value__4 | io_undef_value__5; // @[Library.scala 194:39]
@@ -9917,272 +9863,267 @@
   wire  io_undef_value_3_3 = io_undef_value_2_6 | io_undef_value_2_7; // @[Library.scala 194:39]
   wire  io_undef_value_3_4 = io_undef_value_2_8 | io_undef_value_2_9; // @[Library.scala 194:39]
   wire  io_undef_value_3_5 = io_undef_value_2_10 | io_undef_value_2_11; // @[Library.scala 194:39]
-  wire  io_undef_value_3_6 = io_undef_value_2_12 | io_undef_value__52; // @[Library.scala 194:39]
   wire  io_undef_value_4_0 = io_undef_value_3_0 | io_undef_value_3_1; // @[Library.scala 194:39]
   wire  io_undef_value_4_1 = io_undef_value_3_2 | io_undef_value_3_3; // @[Library.scala 194:39]
   wire  io_undef_value_4_2 = io_undef_value_3_4 | io_undef_value_3_5; // @[Library.scala 194:39]
   wire  io_undef_value_5_0 = io_undef_value_4_0 | io_undef_value_4_1; // @[Library.scala 194:39]
-  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_3_6; // @[Library.scala 194:39]
+  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_2_12; // @[Library.scala 194:39]
   wire  io_undef_value_6_0 = io_undef_value_5_0 | io_undef_value_5_1; // @[Library.scala 194:39]
-  reg  onehot_failed; // @[Decode.scala 813:30]
-  wire  _T_2 = ~reset; // @[Decode.scala 814:9]
-  wire [1:0] _onehot_decode_T_105 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
+  reg  onehot_failed; // @[Decode.scala 799:30]
+  wire  _T_2 = ~reset; // @[Decode.scala 800:9]
+  wire [1:0] _onehot_decode_T_103 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_1 = {{1'd0}, decoded[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_107 = _GEN_1 + _onehot_decode_T_105; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_109 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_105 = _GEN_1 + _onehot_decode_T_103; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_107 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_2 = {{1'd0}, decoded[3]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_111 = _GEN_2 + _onehot_decode_T_109; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_113 = _onehot_decode_T_107[1:0] + _onehot_decode_T_111[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_115 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_109 = _GEN_2 + _onehot_decode_T_107; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_111 = _onehot_decode_T_105[1:0] + _onehot_decode_T_109[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_113 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_3 = {{1'd0}, decoded[6]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_117 = _GEN_3 + _onehot_decode_T_115; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_119 = decoded[9] + decoded[10]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_121 = decoded[11] + decoded[12]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_123 = _onehot_decode_T_119 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_4 = {{1'd0}, _onehot_decode_T_117[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_125 = _GEN_4 + _onehot_decode_T_123; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_127 = _onehot_decode_T_113 + _onehot_decode_T_125[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_129 = decoded[14] + decoded[15]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_5 = {{1'd0}, decoded[13]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_131 = _GEN_5 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_133 = decoded[17] + decoded[18]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_6 = {{1'd0}, decoded[16]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_135 = _GEN_6 + _onehot_decode_T_133; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_137 = _onehot_decode_T_131[1:0] + _onehot_decode_T_135[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_139 = decoded[20] + decoded[21]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_7 = {{1'd0}, decoded[19]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_141 = _GEN_7 + _onehot_decode_T_139; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_143 = decoded[22] + decoded[23]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_145 = decoded[24] + decoded[25]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_147 = _onehot_decode_T_143 + _onehot_decode_T_145; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_141[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_149 = _GEN_8 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_151 = _onehot_decode_T_137 + _onehot_decode_T_149[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_153 = _onehot_decode_T_127 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_155 = decoded[27] + decoded[28]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_9 = {{1'd0}, decoded[26]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_157 = _GEN_9 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_159 = decoded[30] + decoded[31]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_10 = {{1'd0}, decoded[29]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_161 = _GEN_10 + _onehot_decode_T_159; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_163 = _onehot_decode_T_157[1:0] + _onehot_decode_T_161[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_165 = decoded[33] + decoded[34]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_11 = {{1'd0}, decoded[32]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_167 = _GEN_11 + _onehot_decode_T_165; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_169 = decoded[35] + decoded[36]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_171 = decoded[37] + decoded[38]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_173 = _onehot_decode_T_169 + _onehot_decode_T_171; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_167[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_175 = _GEN_12 + _onehot_decode_T_173; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_177 = _onehot_decode_T_163 + _onehot_decode_T_175[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_179 = decoded[40] + decoded[41]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_13 = {{1'd0}, decoded[39]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_181 = _GEN_13 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_183 = decoded[43] + decoded[44]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_14 = {{1'd0}, decoded[42]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_185 = _GEN_14 + _onehot_decode_T_183; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_187 = _onehot_decode_T_181[1:0] + _onehot_decode_T_185[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_189 = decoded[46] + decoded[47]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_15 = {{1'd0}, decoded[45]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_191 = _GEN_15 + _onehot_decode_T_189; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_193 = decoded[48] + decoded[49]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_195 = decoded[50] + decoded[51]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_197 = _onehot_decode_T_193 + _onehot_decode_T_195; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_191[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_199 = _GEN_16 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_201 = _onehot_decode_T_187 + _onehot_decode_T_199[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_203 = _onehot_decode_T_177 + _onehot_decode_T_201; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_205 = _onehot_decode_T_153 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_207 = decoded[53] + decoded[54]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_17 = {{1'd0}, decoded[52]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_209 = _GEN_17 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_211 = decoded[56] + decoded[57]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_18 = {{1'd0}, decoded[55]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_213 = _GEN_18 + _onehot_decode_T_211; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_215 = _onehot_decode_T_209[1:0] + _onehot_decode_T_213[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_217 = decoded[59] + decoded[60]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_19 = {{1'd0}, decoded[58]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_219 = _GEN_19 + _onehot_decode_T_217; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_221 = decoded[61] + decoded[62]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_223 = decoded[63] + decoded[64]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_225 = _onehot_decode_T_221 + _onehot_decode_T_223; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_219[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_227 = _GEN_20 + _onehot_decode_T_225; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_229 = _onehot_decode_T_215 + _onehot_decode_T_227[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_231 = decoded[66] + decoded[67]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_21 = {{1'd0}, decoded[65]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_233 = _GEN_21 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_235 = decoded[69] + decoded[70]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_22 = {{1'd0}, decoded[68]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_237 = _GEN_22 + _onehot_decode_T_235; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_239 = _onehot_decode_T_233[1:0] + _onehot_decode_T_237[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_241 = decoded[72] + decoded[73]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_23 = {{1'd0}, decoded[71]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_243 = _GEN_23 + _onehot_decode_T_241; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_245 = decoded[74] + decoded[75]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_247 = decoded[76] + decoded[77]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_249 = _onehot_decode_T_245 + _onehot_decode_T_247; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_243[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_251 = _GEN_24 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_253 = _onehot_decode_T_239 + _onehot_decode_T_251[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_255 = _onehot_decode_T_229 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_257 = decoded[79] + decoded[80]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_25 = {{1'd0}, decoded[78]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_259 = _GEN_25 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_261 = decoded[82] + decoded[83]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_26 = {{1'd0}, decoded[81]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_263 = _GEN_26 + _onehot_decode_T_261; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_265 = _onehot_decode_T_259[1:0] + _onehot_decode_T_263[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_267 = decoded[85] + decoded[86]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_27 = {{1'd0}, decoded[84]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_269 = _GEN_27 + _onehot_decode_T_267; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_271 = decoded[87] + decoded[88]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_273 = decoded[89] + decoded[90]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_275 = _onehot_decode_T_271 + _onehot_decode_T_273; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_269[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_277 = _GEN_28 + _onehot_decode_T_275; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_279 = _onehot_decode_T_265 + _onehot_decode_T_277[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_281 = decoded[92] + decoded[93]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_29 = {{1'd0}, decoded[91]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_283 = _GEN_29 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_285 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_287 = decoded[96] + decoded[97]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_289 = _onehot_decode_T_285 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_30 = {{1'd0}, _onehot_decode_T_283[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_291 = _GEN_30 + _onehot_decode_T_289; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_293 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_31 = {{1'd0}, decoded[98]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_295 = _GEN_31 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_297 = decoded[101] + decoded[102]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_299 = decoded[103] + io_undef_value__52; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_301 = _onehot_decode_T_297 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_295[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_303 = _GEN_32 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_305 = _onehot_decode_T_291[2:0] + _onehot_decode_T_303[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_307 = _onehot_decode_T_279 + _onehot_decode_T_305; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_309 = _onehot_decode_T_255 + _onehot_decode_T_307; // @[Bitwise.scala 48:55]
-  wire [6:0] onehot_decode = _onehot_decode_T_205 + _onehot_decode_T_309; // @[Bitwise.scala 48:55]
-  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 817:24]
-  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 817:24]
-  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 817:36]
+  wire [2:0] _onehot_decode_T_115 = _GEN_3 + _onehot_decode_T_113; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_117 = decoded[10] + decoded[11]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_4 = {{1'd0}, decoded[9]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_119 = _GEN_4 + _onehot_decode_T_117; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_121 = _onehot_decode_T_115[1:0] + _onehot_decode_T_119[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_123 = _onehot_decode_T_111 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_125 = decoded[13] + decoded[14]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_5 = {{1'd0}, decoded[12]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_127 = _GEN_5 + _onehot_decode_T_125; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_129 = decoded[16] + decoded[17]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_6 = {{1'd0}, decoded[15]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_131 = _GEN_6 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_133 = _onehot_decode_T_127[1:0] + _onehot_decode_T_131[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_135 = decoded[19] + decoded[20]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_7 = {{1'd0}, decoded[18]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_137 = _GEN_7 + _onehot_decode_T_135; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_139 = decoded[21] + decoded[22]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_141 = decoded[23] + decoded[24]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_143 = _onehot_decode_T_139 + _onehot_decode_T_141; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_137[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_145 = _GEN_8 + _onehot_decode_T_143; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_147 = _onehot_decode_T_133 + _onehot_decode_T_145[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_149 = _onehot_decode_T_123 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_151 = decoded[26] + decoded[27]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_9 = {{1'd0}, decoded[25]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_153 = _GEN_9 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_155 = decoded[29] + decoded[30]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_10 = {{1'd0}, decoded[28]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_157 = _GEN_10 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_159 = _onehot_decode_T_153[1:0] + _onehot_decode_T_157[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_161 = decoded[32] + decoded[33]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_11 = {{1'd0}, decoded[31]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_163 = _GEN_11 + _onehot_decode_T_161; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_165 = decoded[34] + decoded[35]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_167 = decoded[36] + decoded[37]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_169 = _onehot_decode_T_165 + _onehot_decode_T_167; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_163[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_171 = _GEN_12 + _onehot_decode_T_169; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_173 = _onehot_decode_T_159 + _onehot_decode_T_171[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_175 = decoded[39] + decoded[40]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_13 = {{1'd0}, decoded[38]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_177 = _GEN_13 + _onehot_decode_T_175; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_179 = decoded[42] + decoded[43]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_14 = {{1'd0}, decoded[41]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_181 = _GEN_14 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_183 = _onehot_decode_T_177[1:0] + _onehot_decode_T_181[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_185 = decoded[45] + decoded[46]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_15 = {{1'd0}, decoded[44]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_187 = _GEN_15 + _onehot_decode_T_185; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_189 = decoded[47] + decoded[48]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_191 = decoded[49] + decoded[50]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_193 = _onehot_decode_T_189 + _onehot_decode_T_191; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_187[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_195 = _GEN_16 + _onehot_decode_T_193; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_197 = _onehot_decode_T_183 + _onehot_decode_T_195[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_199 = _onehot_decode_T_173 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_201 = _onehot_decode_T_149 + _onehot_decode_T_199; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_203 = decoded[52] + decoded[53]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_17 = {{1'd0}, decoded[51]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_205 = _GEN_17 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_207 = decoded[55] + decoded[56]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_18 = {{1'd0}, decoded[54]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_209 = _GEN_18 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_211 = _onehot_decode_T_205[1:0] + _onehot_decode_T_209[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_213 = decoded[58] + decoded[59]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_19 = {{1'd0}, decoded[57]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_215 = _GEN_19 + _onehot_decode_T_213; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_217 = decoded[60] + decoded[61]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_219 = decoded[62] + decoded[63]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_221 = _onehot_decode_T_217 + _onehot_decode_T_219; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_215[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_223 = _GEN_20 + _onehot_decode_T_221; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_225 = _onehot_decode_T_211 + _onehot_decode_T_223[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_227 = decoded[65] + decoded[66]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_21 = {{1'd0}, decoded[64]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_229 = _GEN_21 + _onehot_decode_T_227; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_231 = decoded[68] + decoded[69]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_22 = {{1'd0}, decoded[67]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_233 = _GEN_22 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_235 = _onehot_decode_T_229[1:0] + _onehot_decode_T_233[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_237 = decoded[71] + decoded[72]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_23 = {{1'd0}, decoded[70]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_239 = _GEN_23 + _onehot_decode_T_237; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_241 = decoded[73] + decoded[74]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_243 = decoded[75] + decoded[76]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_245 = _onehot_decode_T_241 + _onehot_decode_T_243; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_239[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_247 = _GEN_24 + _onehot_decode_T_245; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_249 = _onehot_decode_T_235 + _onehot_decode_T_247[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_251 = _onehot_decode_T_225 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_253 = decoded[78] + decoded[79]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_25 = {{1'd0}, decoded[77]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_255 = _GEN_25 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_257 = decoded[81] + decoded[82]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_26 = {{1'd0}, decoded[80]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_259 = _GEN_26 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_261 = _onehot_decode_T_255[1:0] + _onehot_decode_T_259[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_263 = decoded[84] + decoded[85]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_27 = {{1'd0}, decoded[83]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_265 = _GEN_27 + _onehot_decode_T_263; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_267 = decoded[86] + decoded[87]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_269 = decoded[88] + decoded[89]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_271 = _onehot_decode_T_267 + _onehot_decode_T_269; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_265[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_273 = _GEN_28 + _onehot_decode_T_271; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_275 = _onehot_decode_T_261 + _onehot_decode_T_273[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_277 = decoded[91] + decoded[92]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_29 = {{1'd0}, decoded[90]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_279 = _GEN_29 + _onehot_decode_T_277; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_281 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_30 = {{1'd0}, decoded[93]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_283 = _GEN_30 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_285 = _onehot_decode_T_279[1:0] + _onehot_decode_T_283[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_287 = decoded[97] + decoded[98]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_31 = {{1'd0}, decoded[96]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_289 = _GEN_31 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_291 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_293 = decoded[101] + io_undef_value__51; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_295 = _onehot_decode_T_291 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_289[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_297 = _GEN_32 + _onehot_decode_T_295; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_299 = _onehot_decode_T_285 + _onehot_decode_T_297[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_301 = _onehot_decode_T_275 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_303 = _onehot_decode_T_251 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
+  wire [6:0] onehot_decode = _onehot_decode_T_201 + _onehot_decode_T_303; // @[Bitwise.scala 48:55]
+  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 803:24]
+  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 803:24]
+  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 803:36]
   assign io_imm12 = {_io_imm12_T_2,io_inst[31:20]}; // @[Cat.scala 31:58]
   assign io_imm20 = {io_inst[31:12],12'h0}; // @[Cat.scala 31:58]
   assign io_immjal = {io_immjal_hi,io_immjal_lo}; // @[Cat.scala 31:58]
   assign io_immbr = {io_immbr_hi,io_immbr_lo}; // @[Cat.scala 31:58]
   assign io_immst = {io_immst_hi,io_inst[11:7]}; // @[Cat.scala 31:58]
-  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_csrrw = 1'h0; // @[Decode.scala 734:14]
-  assign io_csrrs = 1'h0; // @[Decode.scala 735:14]
-  assign io_csrrc = 1'h0; // @[Decode.scala 736:14]
-  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fence = 1'h0; // @[Decode.scala 778:17]
-  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_div = 1'h0; // @[Decode.scala 738:12]
-  assign io_divu = 1'h0; // @[Decode.scala 739:13]
-  assign io_rem = 1'h0; // @[Decode.scala 740:12]
-  assign io_remu = 1'h0; // @[Decode.scala 741:13]
-  assign io_flw = 1'h0; // @[Decode.scala 743:12]
-  assign io_fsw = 1'h0; // @[Decode.scala 744:12]
-  assign io_fmadd = 1'h0; // @[Decode.scala 745:14]
-  assign io_fmsub = 1'h0; // @[Decode.scala 746:14]
-  assign io_fnmsub = 1'h0; // @[Decode.scala 747:15]
-  assign io_fnmadd = 1'h0; // @[Decode.scala 748:15]
-  assign io_fadd = 1'h0; // @[Decode.scala 749:13]
-  assign io_fsub = 1'h0; // @[Decode.scala 750:13]
-  assign io_fmul = 1'h0; // @[Decode.scala 751:13]
-  assign io_fdiv = 1'h0; // @[Decode.scala 752:13]
-  assign io_fsqrt = 1'h0; // @[Decode.scala 753:14]
-  assign io_fsgnj = 1'h0; // @[Decode.scala 754:14]
-  assign io_fsgnjn = 1'h0; // @[Decode.scala 755:15]
-  assign io_fsgnjx = 1'h0; // @[Decode.scala 756:15]
-  assign io_fmin = 1'h0; // @[Decode.scala 757:13]
-  assign io_fmax = 1'h0; // @[Decode.scala 758:13]
-  assign io_fcvtws = 1'h0; // @[Decode.scala 759:15]
-  assign io_fcvtwus = 1'h0; // @[Decode.scala 760:16]
-  assign io_fmvxw = 1'h0; // @[Decode.scala 761:14]
-  assign io_feq = 1'h0; // @[Decode.scala 762:12]
-  assign io_flt = 1'h0; // @[Decode.scala 763:12]
-  assign io_fle = 1'h0; // @[Decode.scala 764:12]
-  assign io_fclass = 1'h0; // @[Decode.scala 765:15]
-  assign io_fcvtsw = 1'h0; // @[Decode.scala 766:15]
-  assign io_fcvtswu = 1'h0; // @[Decode.scala 767:16]
-  assign io_fmvwx = 1'h0; // @[Decode.scala 768:14]
-  assign io_clb = _io_clb_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 688:97]
-  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 689:76]
-  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 694:71]
-  assign io_viop = _io_viop_T_9 | vdupi; // @[Decode.scala 713:20]
-  assign io_vfop = vfma | vfma4 | vdupf; // @[Decode.scala 708:28]
-  assign io_ebreak = 1'h0; // @[Decode.scala 770:15]
-  assign io_ecall = 1'h0; // @[Decode.scala 771:15]
-  assign io_eexit = 1'h0; // @[Decode.scala 772:15]
-  assign io_eyield = 1'h0; // @[Decode.scala 773:15]
-  assign io_ectxsw = 1'h0; // @[Decode.scala 774:15]
-  assign io_mpause = 1'h0; // @[Decode.scala 775:15]
-  assign io_mret = 1'h0; // @[Decode.scala 776:15]
-  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 810:15]
-  assign io_fencei = 1'h0; // @[Decode.scala 779:17]
-  assign io_flushat = 1'h0; // @[Decode.scala 780:17]
-  assign io_flushall = 1'h0; // @[Decode.scala 781:17]
-  assign io_slog = 1'h0; // @[Decode.scala 783:13]
+  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_csrrw = 1'h0; // @[Decode.scala 720:14]
+  assign io_csrrs = 1'h0; // @[Decode.scala 721:14]
+  assign io_csrrc = 1'h0; // @[Decode.scala 722:14]
+  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fence = 1'h0; // @[Decode.scala 764:17]
+  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_div = 1'h0; // @[Decode.scala 724:12]
+  assign io_divu = 1'h0; // @[Decode.scala 725:13]
+  assign io_rem = 1'h0; // @[Decode.scala 726:12]
+  assign io_remu = 1'h0; // @[Decode.scala 727:13]
+  assign io_flw = 1'h0; // @[Decode.scala 729:12]
+  assign io_fsw = 1'h0; // @[Decode.scala 730:12]
+  assign io_fmadd = 1'h0; // @[Decode.scala 731:14]
+  assign io_fmsub = 1'h0; // @[Decode.scala 732:14]
+  assign io_fnmsub = 1'h0; // @[Decode.scala 733:15]
+  assign io_fnmadd = 1'h0; // @[Decode.scala 734:15]
+  assign io_fadd = 1'h0; // @[Decode.scala 735:13]
+  assign io_fsub = 1'h0; // @[Decode.scala 736:13]
+  assign io_fmul = 1'h0; // @[Decode.scala 737:13]
+  assign io_fdiv = 1'h0; // @[Decode.scala 738:13]
+  assign io_fsqrt = 1'h0; // @[Decode.scala 739:14]
+  assign io_fsgnj = 1'h0; // @[Decode.scala 740:14]
+  assign io_fsgnjn = 1'h0; // @[Decode.scala 741:15]
+  assign io_fsgnjx = 1'h0; // @[Decode.scala 742:15]
+  assign io_fmin = 1'h0; // @[Decode.scala 743:13]
+  assign io_fmax = 1'h0; // @[Decode.scala 744:13]
+  assign io_fcvtws = 1'h0; // @[Decode.scala 745:15]
+  assign io_fcvtwus = 1'h0; // @[Decode.scala 746:16]
+  assign io_fmvxw = 1'h0; // @[Decode.scala 747:14]
+  assign io_feq = 1'h0; // @[Decode.scala 748:12]
+  assign io_flt = 1'h0; // @[Decode.scala 749:12]
+  assign io_fle = 1'h0; // @[Decode.scala 750:12]
+  assign io_fclass = 1'h0; // @[Decode.scala 751:15]
+  assign io_fcvtsw = 1'h0; // @[Decode.scala 752:15]
+  assign io_fcvtswu = 1'h0; // @[Decode.scala 753:16]
+  assign io_fmvwx = 1'h0; // @[Decode.scala 754:14]
+  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 680:97]
+  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 681:76]
+  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 686:71]
+  assign io_viop = _io_viop_T_5 | vdupi; // @[Decode.scala 699:20]
+  assign io_ebreak = 1'h0; // @[Decode.scala 756:15]
+  assign io_ecall = 1'h0; // @[Decode.scala 757:15]
+  assign io_eexit = 1'h0; // @[Decode.scala 758:15]
+  assign io_eyield = 1'h0; // @[Decode.scala 759:15]
+  assign io_ectxsw = 1'h0; // @[Decode.scala 760:15]
+  assign io_mpause = 1'h0; // @[Decode.scala 761:15]
+  assign io_mret = 1'h0; // @[Decode.scala 762:15]
+  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 796:15]
+  assign io_fencei = 1'h0; // @[Decode.scala 765:17]
+  assign io_flushat = 1'h0; // @[Decode.scala 766:17]
+  assign io_flushall = 1'h0; // @[Decode.scala 767:17]
+  assign io_slog = 1'h0; // @[Decode.scala 769:13]
   always @(posedge clock) begin
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fatal; // @[Decode.scala 814:9]
+          $fatal; // @[Decode.scala 800:9]
         end
     `ifdef STOP_COND
       end
@@ -10193,7 +10134,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:814 assert(!onehot_failed)\n"); // @[Decode.scala 814:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:800 assert(!onehot_failed)\n"); // @[Decode.scala 800:9]
         end
     `ifdef PRINTF_COND
       end
@@ -10205,7 +10146,7 @@
     `endif
         if (_T_6 & _T_2) begin
           $fwrite(32'h80000002,"[FAIL] decode  inst=%x  addr=%x  decoded=0b%b  pipeline=%d\n",io_inst,io_addr,decoded,1'h1
-            ); // @[Decode.scala 819:11]
+            ); // @[Decode.scala 805:11]
         end
     `ifdef PRINTF_COND
       end
@@ -10213,10 +10154,10 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Decode.scala 817:45]
-      onehot_failed <= 1'h0; // @[Decode.scala 818:19]
+    if (reset) begin // @[Decode.scala 803:45]
+      onehot_failed <= 1'h0; // @[Decode.scala 804:19]
     end else begin
-      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 813:30]
+      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 799:30]
     end
   end
 // Register and memory initialization
@@ -10280,7 +10221,6 @@
   input  [31:0] io_scoreboard_regd,
   input  [31:0] io_scoreboard_comb,
   output [31:0] io_scoreboard_spec,
-  input  [31:0] io_fscoreboard,
   output        io_rs1Read_valid,
   output [4:0]  io_rs1Read_addr,
   output        io_rs1Set_valid,
@@ -10295,7 +10235,7 @@
   output [31:0] io_busRead_immed,
   output        io_alu_valid,
   output [4:0]  io_alu_addr,
-  output [18:0] io_alu_op,
+  output [17:0] io_alu_op,
   output        io_bru_valid,
   output        io_bru_fwd,
   output [16:0] io_bru_op,
@@ -10311,13 +10251,11 @@
   output [4:0]  io_mlu_addr,
   output [8:0]  io_mlu_op,
   output [3:0]  io_dvu_op,
-  output [4:0]  io_fpu_raddr_1,
-  output [26:0] io_fpu_op,
   output        io_vinst_valid,
   input         io_vinst_ready,
   output [4:0]  io_vinst_addr,
   output [31:0] io_vinst_inst,
-  output [5:0]  io_vinst_op,
+  output [4:0]  io_vinst_op,
   input         io_branchTaken,
   input         io_interlock,
   input         io_serializeIn_mul,
@@ -10416,7 +10354,6 @@
   wire  d_io_fcvtsw; // @[Decode.scala 91:17]
   wire  d_io_fcvtswu; // @[Decode.scala 91:17]
   wire  d_io_fmvwx; // @[Decode.scala 91:17]
-  wire  d_io_clb; // @[Decode.scala 91:17]
   wire  d_io_clz; // @[Decode.scala 91:17]
   wire  d_io_ctz; // @[Decode.scala 91:17]
   wire  d_io_pcnt; // @[Decode.scala 91:17]
@@ -10429,7 +10366,6 @@
   wire  d_io_vld; // @[Decode.scala 91:17]
   wire  d_io_vst; // @[Decode.scala 91:17]
   wire  d_io_viop; // @[Decode.scala 91:17]
-  wire  d_io_vfop; // @[Decode.scala 91:17]
   wire  d_io_ebreak; // @[Decode.scala 91:17]
   wire  d_io_ecall; // @[Decode.scala 91:17]
   wire  d_io_eexit; // @[Decode.scala 91:17]
@@ -10452,7 +10388,7 @@
   wire  isAluImm = _isAluImm_T_3 | d_io_andi | d_io_slli | d_io_srli | d_io_srai; // @[Decode.scala 104:66]
   wire  _isAluReg_T_4 = d_io_add | d_io_sub | d_io_slt | d_io_sltu | d_io_xor | d_io_or; // @[Decode.scala 106:76]
   wire  isAluReg = _isAluReg_T_4 | d_io_and | d_io_sll | d_io_srl | d_io_sra; // @[Decode.scala 107:62]
-  wire  isAlu1Bit = d_io_clb | d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:52]
+  wire  isAlu1Bit = d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:40]
   wire  isAlu2Bit = d_io_min | d_io_minu | d_io_max | d_io_maxu; // @[Decode.scala 110:53]
   wire  _isCondBr_T_3 = d_io_beq | d_io_bne | d_io_blt | d_io_bge | d_io_bltu; // @[Decode.scala 112:63]
   wire  isCondBr = _isCondBr_T_3 | d_io_bgeu; // @[Decode.scala 113:28]
@@ -10461,38 +10397,30 @@
   wire  isLsu = isLoad | isStore | d_io_vld | d_io_vst; // @[Decode.scala 121:69]
   wire  isMul = d_io_mul | d_io_mulh | d_io_mulhsu | d_io_mulhu | d_io_mulhr | d_io_mulhsur | d_io_mulhur | d_io_dmulh
      | d_io_dmulhr; // @[Decode.scala 123:125]
-  wire  fpuRs2 = d_io_vfop & io_inst_inst[1]; // @[Decode.scala 129:255]
-  wire  isVFop = io_vinst_op[5]; // @[Decode.scala 133:27]
-  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 134:27]
-  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 137:26]
-  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 141:37]
-  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr | fpuRs2; // @[Decode.scala 141:83]
-  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 142:37]
-  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc | isVFop | fpuRs2; // @[Decode.scala 142:93]
-  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 143:37]
-  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isVFop | isAluImm | isAlu1Bit | fpuRs2; // @[Decode.scala 143:118]
-  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 146:35]
-  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 149:48]
-  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 150:35]
-  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 149:58]
-  wire  _lsuEn_T = ~isLsu; // @[Decode.scala 153:15]
-  wire  _lsuEn_T_5 = _lsuEn_T | ~io_serializeIn_brcond; // @[Decode.scala 155:23]
-  wire  _lsuEn_T_6 = io_lsu_ready & _lsuEn_T_5; // @[Decode.scala 154:51]
-  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 156:20]
-  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 158:49]
-  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 157:50]
-  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 156:15]
-  wire  _lsuEn_T_18 = _lsuEn_T_6 & _lsuEn_T_17; // @[Decode.scala 155:50]
-  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 153:22]
-  wire  mulEn = ~isMul | ~io_serializeIn_mul; // @[Decode.scala 161:22]
-  wire [31:0] _fpuEn_T_8 = io_fscoreboard >> rs2Addr; // @[Decode.scala 166:53]
-  wire  _fpuEn_T_10 = fpuRs2 & _fpuEn_T_8[0]; // @[Decode.scala 166:36]
-  wire  fpuEn = ~fpuRs2 | ~_fpuEn_T_10; // @[Decode.scala 164:24]
-  wire  _vinstEn_T_5 = ~(isVFop & io_serializeIn_brcond); // @[Decode.scala 173:17]
-  wire  _vinstEn_T_6 = ~(isVIop & io_serializeIn_brcond) & _vinstEn_T_5; // @[Decode.scala 172:76]
-  wire  _vinstEn_T_10 = ~(io_vinst_op != 6'h0 & ~io_vinst_ready); // @[Decode.scala 174:17]
-  wire  vinstEn = _vinstEn_T_6 & _vinstEn_T_10; // @[Decode.scala 173:76]
-  wire  aluValid_value__9 = io_alu_op[18]; // @[Library.scala 182:26]
+  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 133:27]
+  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 136:26]
+  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 140:37]
+  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr; // @[Decode.scala 140:71]
+  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 141:37]
+  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc; // @[Decode.scala 141:69]
+  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 142:37]
+  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isAluImm | isAlu1Bit; // @[Decode.scala 142:95]
+  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 145:35]
+  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 148:48]
+  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 149:35]
+  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 148:58]
+  wire  _lsuEn_T = ~isLsu; // @[Decode.scala 152:15]
+  wire  _lsuEn_T_5 = _lsuEn_T | ~io_serializeIn_brcond; // @[Decode.scala 154:23]
+  wire  _lsuEn_T_6 = io_lsu_ready & _lsuEn_T_5; // @[Decode.scala 153:51]
+  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 155:20]
+  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 157:49]
+  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 156:50]
+  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 155:15]
+  wire  _lsuEn_T_18 = _lsuEn_T_6 & _lsuEn_T_17; // @[Decode.scala 154:50]
+  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 152:22]
+  wire  mulEn = ~isMul | ~io_serializeIn_mul; // @[Decode.scala 160:22]
+  wire  _vinstEn_T_6 = ~(io_vinst_op != 5'h0 & ~io_vinst_ready); // @[Decode.scala 172:17]
+  wire  vinstEn = ~(isVIop & io_serializeIn_brcond) & _vinstEn_T_6; // @[Decode.scala 171:76]
   wire  aluValid_value__0 = io_alu_op[0] | io_alu_op[1]; // @[Library.scala 194:39]
   wire  aluValid_value__1 = io_alu_op[2] | io_alu_op[3]; // @[Library.scala 194:39]
   wire  aluValid_value__2 = io_alu_op[4] | io_alu_op[5]; // @[Library.scala 194:39]
@@ -10506,32 +10434,30 @@
   wire  aluValid_value_1_1 = aluValid_value__2 | aluValid_value__3; // @[Library.scala 194:39]
   wire  aluValid_value_1_2 = aluValid_value__4 | aluValid_value__5; // @[Library.scala 194:39]
   wire  aluValid_value_1_3 = aluValid_value__6 | aluValid_value__7; // @[Library.scala 194:39]
-  wire  aluValid_value_1_4 = aluValid_value__8 | aluValid_value__9; // @[Library.scala 194:39]
   wire  aluValid_value_2_0 = aluValid_value_1_0 | aluValid_value_1_1; // @[Library.scala 194:39]
   wire  aluValid_value_2_1 = aluValid_value_1_2 | aluValid_value_1_3; // @[Library.scala 194:39]
   wire  aluValid_value_3_0 = aluValid_value_2_0 | aluValid_value_2_1; // @[Library.scala 194:39]
-  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value_1_4; // @[Library.scala 194:39]
-  wire  aluOp_1 = d_io_sub; // @[Decode.scala 182:19 189:19]
-  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 188:46]
-  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 191:33]
-  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 190:32]
-  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 193:31]
-  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 192:32]
-  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 196:32]
-  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 195:32]
-  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 194:32]
-  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 186:22]
-  wire  aluOp_10 = d_io_lui; // @[Decode.scala 182:19 198:19]
-  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 197:32]
-  wire  aluOp_13 = d_io_ctz; // @[Decode.scala 182:19 201:19]
-  wire  aluOp_12 = d_io_clz; // @[Decode.scala 182:19 200:19]
-  wire  aluOp_11 = d_io_clb; // @[Decode.scala 182:19 199:19]
-  wire  aluOp_15 = d_io_min; // @[Decode.scala 182:19 203:19]
-  wire  aluOp_14 = d_io_pcnt; // @[Decode.scala 182:19 202:19]
-  wire  aluOp_18 = d_io_maxu; // @[Decode.scala 182:19 206:19]
-  wire  aluOp_17 = d_io_max; // @[Decode.scala 182:19 205:19]
-  wire  aluOp_16 = d_io_minu; // @[Decode.scala 182:19 204:19]
-  wire [9:0] io_alu_op_hi = {aluOp_18,aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 186:22]
+  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value__8; // @[Library.scala 194:39]
+  wire  aluOp_1 = d_io_sub; // @[Decode.scala 180:19 187:19]
+  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 186:46]
+  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 189:33]
+  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 188:32]
+  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 191:31]
+  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 190:32]
+  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 194:32]
+  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 193:32]
+  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 192:32]
+  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 184:22]
+  wire  aluOp_10 = d_io_lui; // @[Decode.scala 180:19 196:19]
+  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 195:32]
+  wire  aluOp_12 = d_io_ctz; // @[Decode.scala 180:19 198:19]
+  wire  aluOp_11 = d_io_clz; // @[Decode.scala 180:19 197:19]
+  wire  aluOp_14 = d_io_min; // @[Decode.scala 180:19 200:19]
+  wire  aluOp_13 = d_io_pcnt; // @[Decode.scala 180:19 199:19]
+  wire  aluOp_17 = d_io_maxu; // @[Decode.scala 180:19 203:19]
+  wire  aluOp_16 = d_io_max; // @[Decode.scala 180:19 202:19]
+  wire  aluOp_15 = d_io_minu; // @[Decode.scala 180:19 201:19]
+  wire [8:0] io_alu_op_hi = {aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 184:22]
   wire  bruValid_value__8 = io_bru_op[16]; // @[Library.scala 182:26]
   wire  bruValid_value__0 = io_bru_op[0] | io_bru_op[1]; // @[Library.scala 194:39]
   wire  bruValid_value__1 = io_bru_op[2] | io_bru_op[3]; // @[Library.scala 194:39]
@@ -10549,18 +10475,18 @@
   wire  bruValid_value_2_1 = bruValid_value_1_2 | bruValid_value_1_3; // @[Library.scala 194:39]
   wire  bruValid_value_3_0 = bruValid_value_2_0 | bruValid_value_2_1; // @[Library.scala 194:39]
   wire  bruValid_value_4_0 = bruValid_value_3_0 | bruValid_value__8; // @[Library.scala 194:39]
-  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 210:19 220:19]
-  wire  bruOp_0 = d_io_jal; // @[Decode.scala 210:19 219:19]
-  wire  bruOp_3 = d_io_bne; // @[Decode.scala 210:19 222:19]
-  wire  bruOp_2 = d_io_beq; // @[Decode.scala 210:19 221:19]
-  wire  bruOp_5 = d_io_bge; // @[Decode.scala 210:19 224:19]
-  wire  bruOp_4 = d_io_blt; // @[Decode.scala 210:19 223:19]
-  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 210:19 226:19]
-  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 210:19 225:19]
-  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 214:22]
-  wire  bruOp_16 = d_io_undef; // @[Decode.scala 210:19 235:21]
-  wire [8:0] io_bru_op_hi = {bruOp_16,1'h0,1'h0,2'h0,4'h0}; // @[Decode.scala 214:22]
-  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 216:38]
+  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 207:19 217:19]
+  wire  bruOp_0 = d_io_jal; // @[Decode.scala 207:19 216:19]
+  wire  bruOp_3 = d_io_bne; // @[Decode.scala 207:19 219:19]
+  wire  bruOp_2 = d_io_beq; // @[Decode.scala 207:19 218:19]
+  wire  bruOp_5 = d_io_bge; // @[Decode.scala 207:19 221:19]
+  wire  bruOp_4 = d_io_blt; // @[Decode.scala 207:19 220:19]
+  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 207:19 223:19]
+  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 207:19 222:19]
+  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 211:22]
+  wire  bruOp_16 = d_io_undef; // @[Decode.scala 207:19 232:21]
+  wire [8:0] io_bru_op_hi = {bruOp_16,1'h0,1'h0,2'h0,4'h0}; // @[Decode.scala 211:22]
+  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 213:38]
   wire  csrValid_value__1 = io_csr_op[2]; // @[Library.scala 182:26]
   wire  csrValid_value__0 = io_csr_op[0] | io_csr_op[1]; // @[Library.scala 194:39]
   wire  csrValid_value_1_0 = csrValid_value__0 | csrValid_value__1; // @[Library.scala 194:39]
@@ -10577,16 +10503,16 @@
   wire  lsuValid_value_2_0 = lsuValid_value_1_0 | lsuValid_value_1_1; // @[Library.scala 194:39]
   wire  lsuValid_value_2_1 = lsuValid_value_1_2 | lsuValid_value__6; // @[Library.scala 194:39]
   wire  lsuValid_value_3_0 = lsuValid_value_2_0 | lsuValid_value_2_1; // @[Library.scala 194:39]
-  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 252:19 261:18]
-  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 252:19 260:18]
-  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 252:19 259:18]
-  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 252:19 263:18]
-  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 252:19 262:18]
-  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 252:19 265:18]
-  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 252:19 264:18]
-  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 257:22]
-  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 252:19 266:18]
-  wire [6:0] io_lsu_op_hi = {vldst,1'h0,2'h0,2'h0,lsuOp_7}; // @[Decode.scala 257:22]
+  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 249:19 258:18]
+  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 249:19 257:18]
+  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 249:19 256:18]
+  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 249:19 260:18]
+  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 249:19 259:18]
+  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 249:19 262:18]
+  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 249:19 261:18]
+  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 254:22]
+  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 249:19 263:18]
+  wire [6:0] io_lsu_op_hi = {vldst,1'h0,2'h0,2'h0,lsuOp_7}; // @[Decode.scala 254:22]
   wire  mluValid_value__4 = io_mlu_op[8]; // @[Library.scala 182:26]
   wire  mluValid_value__0 = io_mlu_op[0] | io_mlu_op[1]; // @[Library.scala 194:39]
   wire  mluValid_value__1 = io_mlu_op[2] | io_mlu_op[3]; // @[Library.scala 194:39]
@@ -10596,59 +10522,56 @@
   wire  mluValid_value_1_1 = mluValid_value__2 | mluValid_value__3; // @[Library.scala 194:39]
   wire  mluValid_value_2_0 = mluValid_value_1_0 | mluValid_value_1_1; // @[Library.scala 194:39]
   wire  mluValid_value_3_0 = mluValid_value_2_0 | mluValid_value__4; // @[Library.scala 194:39]
-  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 276:19 283:22]
-  wire  mluOp_0 = d_io_mul; // @[Decode.scala 276:19 282:22]
-  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 276:19 285:22]
-  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 276:19 284:22]
-  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 280:22]
-  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 276:19 287:22]
-  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 276:19 286:22]
-  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 276:19 290:22]
-  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 276:19 289:22]
-  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 276:19 288:22]
-  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 280:22]
+  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 273:19 280:22]
+  wire  mluOp_0 = d_io_mul; // @[Decode.scala 273:19 279:22]
+  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 273:19 282:22]
+  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 273:19 281:22]
+  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 277:22]
+  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 273:19 284:22]
+  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 273:19 283:22]
+  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 273:19 287:22]
+  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 273:19 286:22]
+  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 273:19 285:22]
+  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 277:22]
   wire  dvuValid_value__0 = io_dvu_op[0] | io_dvu_op[1]; // @[Library.scala 194:39]
   wire  dvuValid_value__1 = io_dvu_op[2] | io_dvu_op[3]; // @[Library.scala 194:39]
   wire  dvuValid_value_1_0 = dvuValid_value__0 | dvuValid_value__1; // @[Library.scala 194:39]
-  wire  dvuEn = ~dvuValid_value_1_0; // @[Decode.scala 305:34]
-  wire [13:0] io_fpu_op_hi = {fpuRs2,1'h0,2'h0,3'h0,7'h0}; // @[Decode.scala 313:22]
-  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 349:21 361:24]
-  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 349:21 362:27]
+  wire  dvuEn = ~dvuValid_value_1_0; // @[Decode.scala 302:34]
+  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 345:21 356:24]
+  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 345:21 357:27]
   wire  vinstValid_value__0 = vinstOp_0 | vinstOp_1; // @[Library.scala 194:39]
-  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 349:21 357:22]
-  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 349:21 358:22]
+  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 345:21 353:22]
+  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 345:21 354:22]
   wire  vinstValid_value__1 = vinstOp_2 | vinstOp_3; // @[Library.scala 194:39]
-  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 349:21 359:23]
-  wire  vinstOp_5 = d_io_vfop; // @[Decode.scala 349:21 360:23]
-  wire  vinstValid_value__2 = vinstOp_4 | vinstOp_5; // @[Library.scala 194:39]
   wire  vinstValid_value_1_0 = vinstValid_value__0 | vinstValid_value__1; // @[Library.scala 194:39]
-  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstValid_value__2; // @[Library.scala 194:39]
-  wire [2:0] io_vinst_op_lo = {vinstOp_2,vinstOp_1,vinstOp_0}; // @[Decode.scala 355:26]
-  wire [2:0] io_vinst_op_hi = {vinstOp_5,vinstOp_4,vinstOp_3}; // @[Decode.scala 355:26]
-  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 368:45]
-  wire  _io_rs1Read_valid_T_3 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit; // @[Decode.scala 368:82]
-  wire  _io_rs1Read_valid_T_6 = _io_rs1Read_valid_T_3 | isMul; // @[Decode.scala 369:44]
-  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_6 | d_io_getvl | d_io_vld; // @[Decode.scala 370:79]
-  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 371:32]
-  wire  _io_rs2Read_valid_T_2 = _io_rs1Read_valid_T | isAlu2Bit | isStore; // @[Decode.scala 372:70]
-  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_2 | isMul | d_io_getvl | d_io_vld; // @[Decode.scala 373:77]
-  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 374:44]
-  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 389:45]
-  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 395:16]
-  wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | _rdMark_valid_T_4; // @[Decode.scala 394:68]
-  wire  _rdMark_valid_T_13 = _rdMark_valid_T_5 | d_io_getvl; // @[Decode.scala 396:55]
-  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 398:55]
-  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 397:47]
+  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 345:21 355:23]
+  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstOp_4; // @[Library.scala 194:39]
+  wire [1:0] io_vinst_op_lo = {vinstOp_1,vinstOp_0}; // @[Decode.scala 351:26]
+  wire [2:0] io_vinst_op_hi = {vinstOp_4,vinstOp_3,vinstOp_2}; // @[Decode.scala 351:26]
+  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 363:45]
+  wire  _io_rs1Read_valid_T_3 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit; // @[Decode.scala 363:82]
+  wire  _io_rs1Read_valid_T_6 = _io_rs1Read_valid_T_3 | isMul; // @[Decode.scala 364:44]
+  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_6 | d_io_getvl | d_io_vld; // @[Decode.scala 365:79]
+  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 366:32]
+  wire  _io_rs2Read_valid_T_2 = _io_rs1Read_valid_T | isAlu2Bit | isStore; // @[Decode.scala 367:70]
+  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_2 | isMul | d_io_getvl | d_io_vld; // @[Decode.scala 368:77]
+  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 369:44]
+  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 384:45]
+  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 390:16]
+  wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | _rdMark_valid_T_4; // @[Decode.scala 389:68]
+  wire  _rdMark_valid_T_13 = _rdMark_valid_T_5 | d_io_getvl; // @[Decode.scala 391:55]
+  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 393:55]
+  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 392:47]
   wire [31:0] _scoreboard_spec_T = 32'h1 << rdAddr; // @[OneHot.scala 64:12]
-  wire [31:0] scoreboard_spec = rdMark_valid ? _scoreboard_spec_T : 32'h0; // @[Decode.scala 401:28]
-  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 413:65]
-  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 412:8]
-  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 417:47]
-  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 420:30]
-  wire  _io_inst_ready_T_7 = ~io_serializeIn_jump; // @[Decode.scala 426:20]
-  wire  _io_inst_ready_T_8 = aluEn & bruEn & lsuEn & mulEn & dvuEn & fpuEn & vinstEn & _io_inst_ready_T_7; // @[Decode.scala 425:93]
-  wire  _io_inst_ready_T_14 = ~d_io_undef; // @[Decode.scala 427:43]
-  wire  _io_serializeOut_brcond_T = io_serializeIn_brcond | d_io_beq; // @[Decode.scala 437:51]
+  wire [31:0] scoreboard_spec = rdMark_valid ? _scoreboard_spec_T : 32'h0; // @[Decode.scala 396:28]
+  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 408:65]
+  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 407:8]
+  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 412:47]
+  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 415:30]
+  wire  _io_inst_ready_T_7 = ~io_serializeIn_jump; // @[Decode.scala 421:20]
+  wire  _io_inst_ready_T_8 = aluEn & bruEn & lsuEn & mulEn & dvuEn & vinstEn & _io_inst_ready_T_7; // @[Decode.scala 420:93]
+  wire  _io_inst_ready_T_14 = ~d_io_undef; // @[Decode.scala 422:43]
+  wire  _io_serializeOut_brcond_T = io_serializeIn_brcond | d_io_beq; // @[Decode.scala 432:51]
   DecodedInstruction_1 d ( // @[Decode.scala 91:17]
     .clock(d_clock),
     .reset(d_reset),
@@ -10739,7 +10662,6 @@
     .io_fcvtsw(d_io_fcvtsw),
     .io_fcvtswu(d_io_fcvtswu),
     .io_fmvwx(d_io_fmvwx),
-    .io_clb(d_io_clb),
     .io_clz(d_io_clz),
     .io_ctz(d_io_ctz),
     .io_pcnt(d_io_pcnt),
@@ -10752,7 +10674,6 @@
     .io_vld(d_io_vld),
     .io_vst(d_io_vst),
     .io_viop(d_io_viop),
-    .io_vfop(d_io_vfop),
     .io_ebreak(d_io_ebreak),
     .io_ecall(d_io_ecall),
     .io_eexit(d_io_eexit),
@@ -10766,46 +10687,44 @@
     .io_flushall(d_io_flushall),
     .io_slog(d_io_slog)
   );
-  assign io_inst_ready = _io_inst_ready_T_8 & ~io_halted & ~io_interlock & _io_inst_ready_T_14; // @[Decode.scala 426:72]
+  assign io_inst_ready = _io_inst_ready_T_8 & ~io_halted & ~io_interlock & _io_inst_ready_T_14; // @[Decode.scala 421:72]
   assign io_scoreboard_spec = {scoreboard_spec[31:1],1'h0}; // @[Cat.scala 31:58]
-  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 368:32]
-  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 377:25]
-  assign io_rs1Set_valid = decodeEn & d_io_auipc; // @[Decode.scala 383:31]
-  assign io_rs1Set_value = io_inst_addr; // @[Decode.scala 386:25]
-  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 372:32]
+  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 363:32]
+  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 372:25]
+  assign io_rs1Set_valid = decodeEn & d_io_auipc; // @[Decode.scala 378:31]
+  assign io_rs1Set_value = io_inst_addr; // @[Decode.scala 381:25]
+  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 367:32]
   assign io_rs2Read_addr = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 384:38]
+  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 379:38]
   assign io_rs2Set_value = _io_rs2Set_value_T ? d_io_imm20 : d_io_imm12; // @[Mux.scala 101:16]
-  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 404:31]
+  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 399:31]
   assign io_rdMark_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 411:52]
+  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 406:52]
   assign io_busRead_immed = {d_io_imm12[31:5],_io_busRead_immed_T_3}; // @[Cat.scala 31:58]
-  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 184:28]
+  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 182:28]
   assign io_alu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 186:22]
-  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 212:28]
-  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 213:14]
-  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 214:22]
-  assign io_bru_pc = io_inst_addr; // @[Decode.scala 215:13]
-  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 216:33]
+  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 184:22]
+  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 209:28]
+  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 210:14]
+  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 211:22]
+  assign io_bru_pc = io_inst_addr; // @[Decode.scala 212:13]
+  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 213:33]
   assign io_bru_link = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_csr_op = 3'h0; // @[Decode.scala 244:22]
-  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 254:28]
+  assign io_csr_op = 3'h0; // @[Decode.scala 241:22]
+  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 251:28]
   assign io_lsu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 257:22]
-  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 278:28]
+  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 254:22]
+  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 275:28]
   assign io_mlu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 280:22]
-  assign io_dvu_op = 4'h0; // @[Decode.scala 298:22]
-  assign io_fpu_raddr_1 = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_fpu_op = {io_fpu_op_hi,13'h0}; // @[Decode.scala 313:22]
-  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 352:30]
+  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 277:22]
+  assign io_dvu_op = 4'h0; // @[Decode.scala 295:22]
+  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 348:30]
   assign io_vinst_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 354:17]
-  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 355:26]
-  assign io_serializeOut_mul = io_serializeIn_mul | mluValid_value_3_0; // @[Decode.scala 433:46]
-  assign io_serializeOut_jump = io_serializeIn_jump | d_io_jal | d_io_jalr; // @[Decode.scala 434:59]
-  assign io_serializeOut_brcond = _io_serializeOut_brcond_T | d_io_bne | d_io_blt | d_io_bge | d_io_bltu | d_io_bgeu; // @[Decode.scala 438:65]
+  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 350:17]
+  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 351:26]
+  assign io_serializeOut_mul = io_serializeIn_mul | mluValid_value_3_0; // @[Decode.scala 428:46]
+  assign io_serializeOut_jump = io_serializeIn_jump | d_io_jal | d_io_jalr; // @[Decode.scala 429:59]
+  assign io_serializeOut_brcond = _io_serializeOut_brcond_T | d_io_bne | d_io_blt | d_io_bge | d_io_bltu | d_io_bgeu; // @[Decode.scala 433:65]
   assign d_clock = clock;
   assign d_reset = reset;
   assign d_io_addr = io_inst_addr; // @[Decode.scala 92:13]
@@ -10901,7 +10820,6 @@
   output        io_fcvtsw,
   output        io_fcvtswu,
   output        io_fmvwx,
-  output        io_clb,
   output        io_clz,
   output        io_ctz,
   output        io_pcnt,
@@ -10914,7 +10832,6 @@
   output        io_vld,
   output        io_vst,
   output        io_viop,
-  output        io_vfop,
   output        io_ebreak,
   output        io_ecall,
   output        io_eexit,
@@ -10938,343 +10855,328 @@
   wire [4:0] io_immbr_lo = {io_inst[11:8],1'h0}; // @[Cat.scala 31:58]
   wire [26:0] io_immbr_hi = {_io_imm12_T_2,io_inst[7],io_inst[30:25]}; // @[Cat.scala 31:58]
   wire [26:0] io_immst_hi = {_io_imm12_T_2,io_inst[31:25]}; // @[Cat.scala 31:58]
-  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 316:23]
-  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 316:23]
-  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 316:23]
-  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 316:23]
-  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 316:23]
-  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 316:23]
-  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 316:23]
-  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 316:23]
-  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 316:23]
-  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 316:23]
-  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 316:23]
-  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 316:23]
-  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 316:23]
-  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 316:23]
-  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 316:23]
-  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 316:23]
-  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 316:23]
-  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 316:23]
-  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 310:19]
-  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 313:23]
-  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 313:23]
-  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 310:19]
-  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 313:23]
-  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 313:23]
-  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 313:23]
-  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 310:19]
-  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 310:19]
-  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 311:48]
-  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 310:19]
-  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 310:19]
-  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 310:19]
-  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 310:19]
-  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 318:23]
+  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 318:23]
+  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 318:23]
+  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 318:23]
+  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 318:23]
+  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 318:23]
+  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 318:23]
+  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 318:23]
+  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 318:23]
+  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 318:23]
+  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 318:23]
+  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 318:23]
+  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 318:23]
+  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 318:23]
+  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 318:23]
+  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 318:23]
+  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 318:23]
+  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 318:23]
+  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 312:19]
+  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 315:23]
+  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 315:23]
+  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 312:19]
+  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 315:23]
+  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 315:23]
+  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 315:23]
+  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 312:19]
+  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 312:19]
+  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 313:48]
+  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 312:19]
+  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 312:19]
+  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 312:19]
+  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 312:19]
+  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lb_T_7 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lw_T_7 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 &
-    io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+    io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lbu_T_7 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 310:19]
-  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 310:19]
-  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 311:48]
-  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 310:19]
-  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 310:19]
-  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 311:48]
-  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 310:19]
-  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 310:19]
-  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 310:19]
-  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 310:19]
-  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 310:19]
-  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 310:19]
-  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 310:19]
-  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 310:19]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 312:19]
+  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 312:19]
+  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 313:48]
+  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 312:19]
+  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 312:19]
+  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 313:48]
+  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 312:19]
+  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 312:19]
+  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 312:19]
+  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 312:19]
+  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 312:19]
+  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 312:19]
+  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 312:19]
+  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 312:19]
   wire  _io_slli_T_6 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6; // @[Library.scala 311:48]
+     & io_slli_bit_6; // @[Library.scala 313:48]
   wire  _io_slli_T_7 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
   wire  _io_slli_T_8 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 314:48]
-  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 316:48]
+  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_add_T_10 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_sub_T_10 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 310:19]
-  wire  _io_clb_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_clb_T_7 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7; // @[Library.scala 311:48]
-  wire  _io_clb_T_8 = _io_clb_T_7 & io_lui_bit_8; // @[Library.scala 314:48]
-  wire  _io_clb_T_13 = _io_clb_T_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clb_T_14 = _io_clb_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clb_T_16 = _io_clb_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clb_T_17 = _io_clb_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clb_T_19 = _io_clb_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_clz_T_9 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 311:48]
-  wire  _io_clz_T_10 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
-  wire  _io_clz_T_13 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 314:48]
-  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 688:89]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 312:19]
+  wire  _io_clz_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_clz_T_9 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 313:48]
+  wire  _io_clz_T_10 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
+  wire  _io_clz_T_13 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 316:48]
+  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 680:89]
   wire  _io_getmaxvl_T_16 = _io_fmul_T_3 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 &
     io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vst_T_14 = _io_clb_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vst_T_14 = _io_clz_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vconv_T_17 = _io_fsqrt_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8
      & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 &
-    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vdup_T_11 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_6 & io_fence_bit_12 &
-    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 701:72]
-  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 702:20]
-  wire  vdupf = vdup & io_lui_bit_5; // @[Decode.scala 703:20]
-  wire  _vfma_T_1 = ~io_lui_bit_31; // @[Decode.scala 706:21]
-  wire  vfma = ~io_lui_bit_31 & io_inst[4:2] == 3'h5; // @[Decode.scala 706:29]
-  wire  _vfma4_T_1 = io_inst[1:0] == 2'h1; // @[Decode.scala 707:23]
-  wire [3:0] _vfma4_T_4 = {io_inst[13:12],io_inst[4:3]}; // @[Cat.scala 31:58]
-  wire  vfma4 = io_inst[1:0] == 2'h1 & _vfma4_T_4 == 4'h0; // @[Decode.scala 707:31]
-  wire  _io_viop_T_7 = _vfma4_T_1 & ~vfma4; // @[Decode.scala 712:30]
-  wire  _io_viop_T_8 = _vfma_T_1 & ~vfma | _io_viop_T_7; // @[Decode.scala 711:37]
-  wire  _io_viop_T_9 = _io_viop_T_8 | vconv; // @[Decode.scala 712:40]
+    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 693:72]
+  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 694:20]
+  wire  _io_viop_T_3 = io_inst[1:0] == 2'h1; // @[Decode.scala 698:22]
+  wire  _io_viop_T_4 = ~io_lui_bit_31 | _io_viop_T_3; // @[Decode.scala 697:28]
+  wire  _io_viop_T_5 = _io_viop_T_4 | vconv; // @[Decode.scala 698:30]
   wire [5:0] decoded_lo_lo_lo_lo = {io_mpause,io_mret,io_fencei,io_flushat,io_flushall,io_slog}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_lo_lo = {io_getvl,io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,
-    decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vfop,io_vld,io_vst}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_lo_lo = {io_fmvwx,io_clb,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,decoded_lo_lo_lo
-    }; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_lo_lo = {io_feq,io_flt,io_fle,io_fclass,io_fcvtsw,io_fcvtswu}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_hi_lo = {io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,io_fmvxw,decoded_lo_hi_lo_lo}
+  wire [11:0] decoded_lo_lo_lo = {io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vld,io_vst,io_getvl}; // @[Cat.scala 31:58]
+  wire [24:0] decoded_lo_lo = {io_fcvtswu,io_fmvwx,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,
+    decoded_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_hi_lo_lo = {io_fmvxw,io_feq,io_flt,io_fle,io_fclass,io_fcvtsw}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_lo_hi_lo = {io_fsgnj,io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,decoded_lo_hi_lo_lo}
     ; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_hi_lo = {io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt,io_fsgnj}; // @[Cat.scala 31:58]
-  wire [51:0] decoded_lo = {io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,io_fnmadd,decoded_lo_hi_hi_lo,
+  wire [5:0] decoded_lo_hi_hi_lo = {io_fnmadd,io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt}; // @[Cat.scala 31:58]
+  wire [50:0] decoded_lo = {io_rem,io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,decoded_lo_hi_hi_lo,
     decoded_lo_hi_lo,decoded_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu,io_rem}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_lo_lo = {io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,io_mulhsur,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_hi_lo = {io_and,io_slli,io_srli,io_srai,io_sll,io_srl}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_hi_lo = {io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,io_or,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_hi_lo_lo = {io_fence,io_addi,io_slti,io_sltiu,io_xori,io_ori}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_hi_lo = {io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,io_sw,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [6:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc,io_lb}; // @[Cat.scala 31:58]
-  wire [52:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
+  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhsur,io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_lo_lo = {io_srl,io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_lo_hi_lo = {io_or,io_and,io_slli,io_srli,io_srai,io_sll}; // @[Cat.scala 31:58]
+  wire [25:0] decoded_hi_lo = {io_ori,io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_lo_lo = {io_sw,io_fence,io_addi,io_slti,io_sltiu,io_xori}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_hi_lo = {io_lb,io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc}; // @[Cat.scala 31:58]
+  wire [51:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
     decoded_hi_lo}; // @[Cat.scala 31:58]
-  wire [104:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
-  wire  io_undef_value__52 = decoded[104]; // @[Library.scala 182:26]
+  wire [102:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
+  wire  io_undef_value__51 = decoded[102]; // @[Library.scala 182:26]
   wire  io_undef_value__0 = decoded[0] | decoded[1]; // @[Library.scala 194:39]
   wire  io_undef_value__1 = decoded[2] | decoded[3]; // @[Library.scala 194:39]
   wire  io_undef_value__2 = decoded[4] | decoded[5]; // @[Library.scala 194:39]
@@ -11326,7 +11228,6 @@
   wire  io_undef_value__48 = decoded[96] | decoded[97]; // @[Library.scala 194:39]
   wire  io_undef_value__49 = decoded[98] | decoded[99]; // @[Library.scala 194:39]
   wire  io_undef_value__50 = decoded[100] | decoded[101]; // @[Library.scala 194:39]
-  wire  io_undef_value__51 = decoded[102] | decoded[103]; // @[Library.scala 194:39]
   wire  io_undef_value_1_0 = io_undef_value__0 | io_undef_value__1; // @[Library.scala 194:39]
   wire  io_undef_value_1_1 = io_undef_value__2 | io_undef_value__3; // @[Library.scala 194:39]
   wire  io_undef_value_1_2 = io_undef_value__4 | io_undef_value__5; // @[Library.scala 194:39]
@@ -11372,272 +11273,267 @@
   wire  io_undef_value_3_3 = io_undef_value_2_6 | io_undef_value_2_7; // @[Library.scala 194:39]
   wire  io_undef_value_3_4 = io_undef_value_2_8 | io_undef_value_2_9; // @[Library.scala 194:39]
   wire  io_undef_value_3_5 = io_undef_value_2_10 | io_undef_value_2_11; // @[Library.scala 194:39]
-  wire  io_undef_value_3_6 = io_undef_value_2_12 | io_undef_value__52; // @[Library.scala 194:39]
   wire  io_undef_value_4_0 = io_undef_value_3_0 | io_undef_value_3_1; // @[Library.scala 194:39]
   wire  io_undef_value_4_1 = io_undef_value_3_2 | io_undef_value_3_3; // @[Library.scala 194:39]
   wire  io_undef_value_4_2 = io_undef_value_3_4 | io_undef_value_3_5; // @[Library.scala 194:39]
   wire  io_undef_value_5_0 = io_undef_value_4_0 | io_undef_value_4_1; // @[Library.scala 194:39]
-  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_3_6; // @[Library.scala 194:39]
+  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_2_12; // @[Library.scala 194:39]
   wire  io_undef_value_6_0 = io_undef_value_5_0 | io_undef_value_5_1; // @[Library.scala 194:39]
-  reg  onehot_failed; // @[Decode.scala 813:30]
-  wire  _T_2 = ~reset; // @[Decode.scala 814:9]
-  wire [1:0] _onehot_decode_T_105 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
+  reg  onehot_failed; // @[Decode.scala 799:30]
+  wire  _T_2 = ~reset; // @[Decode.scala 800:9]
+  wire [1:0] _onehot_decode_T_103 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_1 = {{1'd0}, decoded[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_107 = _GEN_1 + _onehot_decode_T_105; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_109 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_105 = _GEN_1 + _onehot_decode_T_103; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_107 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_2 = {{1'd0}, decoded[3]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_111 = _GEN_2 + _onehot_decode_T_109; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_113 = _onehot_decode_T_107[1:0] + _onehot_decode_T_111[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_115 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_109 = _GEN_2 + _onehot_decode_T_107; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_111 = _onehot_decode_T_105[1:0] + _onehot_decode_T_109[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_113 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_3 = {{1'd0}, decoded[6]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_117 = _GEN_3 + _onehot_decode_T_115; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_119 = decoded[9] + decoded[10]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_121 = decoded[11] + decoded[12]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_123 = _onehot_decode_T_119 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_4 = {{1'd0}, _onehot_decode_T_117[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_125 = _GEN_4 + _onehot_decode_T_123; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_127 = _onehot_decode_T_113 + _onehot_decode_T_125[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_129 = decoded[14] + decoded[15]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_5 = {{1'd0}, decoded[13]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_131 = _GEN_5 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_133 = decoded[17] + decoded[18]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_6 = {{1'd0}, decoded[16]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_135 = _GEN_6 + _onehot_decode_T_133; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_137 = _onehot_decode_T_131[1:0] + _onehot_decode_T_135[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_139 = decoded[20] + decoded[21]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_7 = {{1'd0}, decoded[19]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_141 = _GEN_7 + _onehot_decode_T_139; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_143 = decoded[22] + decoded[23]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_145 = decoded[24] + decoded[25]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_147 = _onehot_decode_T_143 + _onehot_decode_T_145; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_141[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_149 = _GEN_8 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_151 = _onehot_decode_T_137 + _onehot_decode_T_149[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_153 = _onehot_decode_T_127 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_155 = decoded[27] + decoded[28]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_9 = {{1'd0}, decoded[26]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_157 = _GEN_9 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_159 = decoded[30] + decoded[31]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_10 = {{1'd0}, decoded[29]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_161 = _GEN_10 + _onehot_decode_T_159; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_163 = _onehot_decode_T_157[1:0] + _onehot_decode_T_161[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_165 = decoded[33] + decoded[34]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_11 = {{1'd0}, decoded[32]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_167 = _GEN_11 + _onehot_decode_T_165; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_169 = decoded[35] + decoded[36]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_171 = decoded[37] + decoded[38]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_173 = _onehot_decode_T_169 + _onehot_decode_T_171; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_167[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_175 = _GEN_12 + _onehot_decode_T_173; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_177 = _onehot_decode_T_163 + _onehot_decode_T_175[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_179 = decoded[40] + decoded[41]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_13 = {{1'd0}, decoded[39]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_181 = _GEN_13 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_183 = decoded[43] + decoded[44]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_14 = {{1'd0}, decoded[42]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_185 = _GEN_14 + _onehot_decode_T_183; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_187 = _onehot_decode_T_181[1:0] + _onehot_decode_T_185[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_189 = decoded[46] + decoded[47]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_15 = {{1'd0}, decoded[45]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_191 = _GEN_15 + _onehot_decode_T_189; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_193 = decoded[48] + decoded[49]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_195 = decoded[50] + decoded[51]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_197 = _onehot_decode_T_193 + _onehot_decode_T_195; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_191[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_199 = _GEN_16 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_201 = _onehot_decode_T_187 + _onehot_decode_T_199[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_203 = _onehot_decode_T_177 + _onehot_decode_T_201; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_205 = _onehot_decode_T_153 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_207 = decoded[53] + decoded[54]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_17 = {{1'd0}, decoded[52]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_209 = _GEN_17 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_211 = decoded[56] + decoded[57]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_18 = {{1'd0}, decoded[55]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_213 = _GEN_18 + _onehot_decode_T_211; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_215 = _onehot_decode_T_209[1:0] + _onehot_decode_T_213[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_217 = decoded[59] + decoded[60]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_19 = {{1'd0}, decoded[58]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_219 = _GEN_19 + _onehot_decode_T_217; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_221 = decoded[61] + decoded[62]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_223 = decoded[63] + decoded[64]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_225 = _onehot_decode_T_221 + _onehot_decode_T_223; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_219[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_227 = _GEN_20 + _onehot_decode_T_225; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_229 = _onehot_decode_T_215 + _onehot_decode_T_227[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_231 = decoded[66] + decoded[67]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_21 = {{1'd0}, decoded[65]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_233 = _GEN_21 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_235 = decoded[69] + decoded[70]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_22 = {{1'd0}, decoded[68]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_237 = _GEN_22 + _onehot_decode_T_235; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_239 = _onehot_decode_T_233[1:0] + _onehot_decode_T_237[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_241 = decoded[72] + decoded[73]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_23 = {{1'd0}, decoded[71]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_243 = _GEN_23 + _onehot_decode_T_241; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_245 = decoded[74] + decoded[75]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_247 = decoded[76] + decoded[77]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_249 = _onehot_decode_T_245 + _onehot_decode_T_247; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_243[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_251 = _GEN_24 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_253 = _onehot_decode_T_239 + _onehot_decode_T_251[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_255 = _onehot_decode_T_229 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_257 = decoded[79] + decoded[80]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_25 = {{1'd0}, decoded[78]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_259 = _GEN_25 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_261 = decoded[82] + decoded[83]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_26 = {{1'd0}, decoded[81]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_263 = _GEN_26 + _onehot_decode_T_261; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_265 = _onehot_decode_T_259[1:0] + _onehot_decode_T_263[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_267 = decoded[85] + decoded[86]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_27 = {{1'd0}, decoded[84]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_269 = _GEN_27 + _onehot_decode_T_267; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_271 = decoded[87] + decoded[88]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_273 = decoded[89] + decoded[90]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_275 = _onehot_decode_T_271 + _onehot_decode_T_273; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_269[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_277 = _GEN_28 + _onehot_decode_T_275; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_279 = _onehot_decode_T_265 + _onehot_decode_T_277[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_281 = decoded[92] + decoded[93]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_29 = {{1'd0}, decoded[91]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_283 = _GEN_29 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_285 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_287 = decoded[96] + decoded[97]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_289 = _onehot_decode_T_285 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_30 = {{1'd0}, _onehot_decode_T_283[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_291 = _GEN_30 + _onehot_decode_T_289; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_293 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_31 = {{1'd0}, decoded[98]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_295 = _GEN_31 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_297 = decoded[101] + decoded[102]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_299 = decoded[103] + io_undef_value__52; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_301 = _onehot_decode_T_297 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_295[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_303 = _GEN_32 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_305 = _onehot_decode_T_291[2:0] + _onehot_decode_T_303[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_307 = _onehot_decode_T_279 + _onehot_decode_T_305; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_309 = _onehot_decode_T_255 + _onehot_decode_T_307; // @[Bitwise.scala 48:55]
-  wire [6:0] onehot_decode = _onehot_decode_T_205 + _onehot_decode_T_309; // @[Bitwise.scala 48:55]
-  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 817:24]
-  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 817:24]
-  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 817:36]
+  wire [2:0] _onehot_decode_T_115 = _GEN_3 + _onehot_decode_T_113; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_117 = decoded[10] + decoded[11]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_4 = {{1'd0}, decoded[9]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_119 = _GEN_4 + _onehot_decode_T_117; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_121 = _onehot_decode_T_115[1:0] + _onehot_decode_T_119[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_123 = _onehot_decode_T_111 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_125 = decoded[13] + decoded[14]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_5 = {{1'd0}, decoded[12]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_127 = _GEN_5 + _onehot_decode_T_125; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_129 = decoded[16] + decoded[17]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_6 = {{1'd0}, decoded[15]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_131 = _GEN_6 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_133 = _onehot_decode_T_127[1:0] + _onehot_decode_T_131[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_135 = decoded[19] + decoded[20]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_7 = {{1'd0}, decoded[18]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_137 = _GEN_7 + _onehot_decode_T_135; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_139 = decoded[21] + decoded[22]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_141 = decoded[23] + decoded[24]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_143 = _onehot_decode_T_139 + _onehot_decode_T_141; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_137[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_145 = _GEN_8 + _onehot_decode_T_143; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_147 = _onehot_decode_T_133 + _onehot_decode_T_145[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_149 = _onehot_decode_T_123 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_151 = decoded[26] + decoded[27]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_9 = {{1'd0}, decoded[25]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_153 = _GEN_9 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_155 = decoded[29] + decoded[30]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_10 = {{1'd0}, decoded[28]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_157 = _GEN_10 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_159 = _onehot_decode_T_153[1:0] + _onehot_decode_T_157[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_161 = decoded[32] + decoded[33]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_11 = {{1'd0}, decoded[31]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_163 = _GEN_11 + _onehot_decode_T_161; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_165 = decoded[34] + decoded[35]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_167 = decoded[36] + decoded[37]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_169 = _onehot_decode_T_165 + _onehot_decode_T_167; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_163[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_171 = _GEN_12 + _onehot_decode_T_169; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_173 = _onehot_decode_T_159 + _onehot_decode_T_171[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_175 = decoded[39] + decoded[40]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_13 = {{1'd0}, decoded[38]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_177 = _GEN_13 + _onehot_decode_T_175; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_179 = decoded[42] + decoded[43]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_14 = {{1'd0}, decoded[41]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_181 = _GEN_14 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_183 = _onehot_decode_T_177[1:0] + _onehot_decode_T_181[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_185 = decoded[45] + decoded[46]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_15 = {{1'd0}, decoded[44]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_187 = _GEN_15 + _onehot_decode_T_185; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_189 = decoded[47] + decoded[48]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_191 = decoded[49] + decoded[50]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_193 = _onehot_decode_T_189 + _onehot_decode_T_191; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_187[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_195 = _GEN_16 + _onehot_decode_T_193; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_197 = _onehot_decode_T_183 + _onehot_decode_T_195[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_199 = _onehot_decode_T_173 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_201 = _onehot_decode_T_149 + _onehot_decode_T_199; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_203 = decoded[52] + decoded[53]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_17 = {{1'd0}, decoded[51]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_205 = _GEN_17 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_207 = decoded[55] + decoded[56]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_18 = {{1'd0}, decoded[54]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_209 = _GEN_18 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_211 = _onehot_decode_T_205[1:0] + _onehot_decode_T_209[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_213 = decoded[58] + decoded[59]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_19 = {{1'd0}, decoded[57]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_215 = _GEN_19 + _onehot_decode_T_213; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_217 = decoded[60] + decoded[61]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_219 = decoded[62] + decoded[63]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_221 = _onehot_decode_T_217 + _onehot_decode_T_219; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_215[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_223 = _GEN_20 + _onehot_decode_T_221; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_225 = _onehot_decode_T_211 + _onehot_decode_T_223[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_227 = decoded[65] + decoded[66]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_21 = {{1'd0}, decoded[64]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_229 = _GEN_21 + _onehot_decode_T_227; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_231 = decoded[68] + decoded[69]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_22 = {{1'd0}, decoded[67]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_233 = _GEN_22 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_235 = _onehot_decode_T_229[1:0] + _onehot_decode_T_233[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_237 = decoded[71] + decoded[72]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_23 = {{1'd0}, decoded[70]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_239 = _GEN_23 + _onehot_decode_T_237; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_241 = decoded[73] + decoded[74]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_243 = decoded[75] + decoded[76]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_245 = _onehot_decode_T_241 + _onehot_decode_T_243; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_239[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_247 = _GEN_24 + _onehot_decode_T_245; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_249 = _onehot_decode_T_235 + _onehot_decode_T_247[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_251 = _onehot_decode_T_225 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_253 = decoded[78] + decoded[79]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_25 = {{1'd0}, decoded[77]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_255 = _GEN_25 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_257 = decoded[81] + decoded[82]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_26 = {{1'd0}, decoded[80]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_259 = _GEN_26 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_261 = _onehot_decode_T_255[1:0] + _onehot_decode_T_259[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_263 = decoded[84] + decoded[85]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_27 = {{1'd0}, decoded[83]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_265 = _GEN_27 + _onehot_decode_T_263; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_267 = decoded[86] + decoded[87]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_269 = decoded[88] + decoded[89]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_271 = _onehot_decode_T_267 + _onehot_decode_T_269; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_265[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_273 = _GEN_28 + _onehot_decode_T_271; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_275 = _onehot_decode_T_261 + _onehot_decode_T_273[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_277 = decoded[91] + decoded[92]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_29 = {{1'd0}, decoded[90]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_279 = _GEN_29 + _onehot_decode_T_277; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_281 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_30 = {{1'd0}, decoded[93]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_283 = _GEN_30 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_285 = _onehot_decode_T_279[1:0] + _onehot_decode_T_283[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_287 = decoded[97] + decoded[98]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_31 = {{1'd0}, decoded[96]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_289 = _GEN_31 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_291 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_293 = decoded[101] + io_undef_value__51; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_295 = _onehot_decode_T_291 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_289[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_297 = _GEN_32 + _onehot_decode_T_295; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_299 = _onehot_decode_T_285 + _onehot_decode_T_297[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_301 = _onehot_decode_T_275 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_303 = _onehot_decode_T_251 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
+  wire [6:0] onehot_decode = _onehot_decode_T_201 + _onehot_decode_T_303; // @[Bitwise.scala 48:55]
+  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 803:24]
+  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 803:24]
+  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 803:36]
   assign io_imm12 = {_io_imm12_T_2,io_inst[31:20]}; // @[Cat.scala 31:58]
   assign io_imm20 = {io_inst[31:12],12'h0}; // @[Cat.scala 31:58]
   assign io_immjal = {io_immjal_hi,io_immjal_lo}; // @[Cat.scala 31:58]
   assign io_immbr = {io_immbr_hi,io_immbr_lo}; // @[Cat.scala 31:58]
   assign io_immst = {io_immst_hi,io_inst[11:7]}; // @[Cat.scala 31:58]
-  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_csrrw = 1'h0; // @[Decode.scala 734:14]
-  assign io_csrrs = 1'h0; // @[Decode.scala 735:14]
-  assign io_csrrc = 1'h0; // @[Decode.scala 736:14]
-  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fence = 1'h0; // @[Decode.scala 778:17]
-  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_div = 1'h0; // @[Decode.scala 738:12]
-  assign io_divu = 1'h0; // @[Decode.scala 739:13]
-  assign io_rem = 1'h0; // @[Decode.scala 740:12]
-  assign io_remu = 1'h0; // @[Decode.scala 741:13]
-  assign io_flw = 1'h0; // @[Decode.scala 743:12]
-  assign io_fsw = 1'h0; // @[Decode.scala 744:12]
-  assign io_fmadd = 1'h0; // @[Decode.scala 745:14]
-  assign io_fmsub = 1'h0; // @[Decode.scala 746:14]
-  assign io_fnmsub = 1'h0; // @[Decode.scala 747:15]
-  assign io_fnmadd = 1'h0; // @[Decode.scala 748:15]
-  assign io_fadd = 1'h0; // @[Decode.scala 749:13]
-  assign io_fsub = 1'h0; // @[Decode.scala 750:13]
-  assign io_fmul = 1'h0; // @[Decode.scala 751:13]
-  assign io_fdiv = 1'h0; // @[Decode.scala 752:13]
-  assign io_fsqrt = 1'h0; // @[Decode.scala 753:14]
-  assign io_fsgnj = 1'h0; // @[Decode.scala 754:14]
-  assign io_fsgnjn = 1'h0; // @[Decode.scala 755:15]
-  assign io_fsgnjx = 1'h0; // @[Decode.scala 756:15]
-  assign io_fmin = 1'h0; // @[Decode.scala 757:13]
-  assign io_fmax = 1'h0; // @[Decode.scala 758:13]
-  assign io_fcvtws = 1'h0; // @[Decode.scala 759:15]
-  assign io_fcvtwus = 1'h0; // @[Decode.scala 760:16]
-  assign io_fmvxw = 1'h0; // @[Decode.scala 761:14]
-  assign io_feq = 1'h0; // @[Decode.scala 762:12]
-  assign io_flt = 1'h0; // @[Decode.scala 763:12]
-  assign io_fle = 1'h0; // @[Decode.scala 764:12]
-  assign io_fclass = 1'h0; // @[Decode.scala 765:15]
-  assign io_fcvtsw = 1'h0; // @[Decode.scala 766:15]
-  assign io_fcvtswu = 1'h0; // @[Decode.scala 767:16]
-  assign io_fmvwx = 1'h0; // @[Decode.scala 768:14]
-  assign io_clb = _io_clb_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 688:97]
-  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 689:76]
-  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 694:71]
-  assign io_viop = _io_viop_T_9 | vdupi; // @[Decode.scala 713:20]
-  assign io_vfop = vfma | vfma4 | vdupf; // @[Decode.scala 708:28]
-  assign io_ebreak = 1'h0; // @[Decode.scala 770:15]
-  assign io_ecall = 1'h0; // @[Decode.scala 771:15]
-  assign io_eexit = 1'h0; // @[Decode.scala 772:15]
-  assign io_eyield = 1'h0; // @[Decode.scala 773:15]
-  assign io_ectxsw = 1'h0; // @[Decode.scala 774:15]
-  assign io_mpause = 1'h0; // @[Decode.scala 775:15]
-  assign io_mret = 1'h0; // @[Decode.scala 776:15]
-  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 810:15]
-  assign io_fencei = 1'h0; // @[Decode.scala 779:17]
-  assign io_flushat = 1'h0; // @[Decode.scala 780:17]
-  assign io_flushall = 1'h0; // @[Decode.scala 781:17]
-  assign io_slog = 1'h0; // @[Decode.scala 783:13]
+  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_csrrw = 1'h0; // @[Decode.scala 720:14]
+  assign io_csrrs = 1'h0; // @[Decode.scala 721:14]
+  assign io_csrrc = 1'h0; // @[Decode.scala 722:14]
+  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fence = 1'h0; // @[Decode.scala 764:17]
+  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_div = 1'h0; // @[Decode.scala 724:12]
+  assign io_divu = 1'h0; // @[Decode.scala 725:13]
+  assign io_rem = 1'h0; // @[Decode.scala 726:12]
+  assign io_remu = 1'h0; // @[Decode.scala 727:13]
+  assign io_flw = 1'h0; // @[Decode.scala 729:12]
+  assign io_fsw = 1'h0; // @[Decode.scala 730:12]
+  assign io_fmadd = 1'h0; // @[Decode.scala 731:14]
+  assign io_fmsub = 1'h0; // @[Decode.scala 732:14]
+  assign io_fnmsub = 1'h0; // @[Decode.scala 733:15]
+  assign io_fnmadd = 1'h0; // @[Decode.scala 734:15]
+  assign io_fadd = 1'h0; // @[Decode.scala 735:13]
+  assign io_fsub = 1'h0; // @[Decode.scala 736:13]
+  assign io_fmul = 1'h0; // @[Decode.scala 737:13]
+  assign io_fdiv = 1'h0; // @[Decode.scala 738:13]
+  assign io_fsqrt = 1'h0; // @[Decode.scala 739:14]
+  assign io_fsgnj = 1'h0; // @[Decode.scala 740:14]
+  assign io_fsgnjn = 1'h0; // @[Decode.scala 741:15]
+  assign io_fsgnjx = 1'h0; // @[Decode.scala 742:15]
+  assign io_fmin = 1'h0; // @[Decode.scala 743:13]
+  assign io_fmax = 1'h0; // @[Decode.scala 744:13]
+  assign io_fcvtws = 1'h0; // @[Decode.scala 745:15]
+  assign io_fcvtwus = 1'h0; // @[Decode.scala 746:16]
+  assign io_fmvxw = 1'h0; // @[Decode.scala 747:14]
+  assign io_feq = 1'h0; // @[Decode.scala 748:12]
+  assign io_flt = 1'h0; // @[Decode.scala 749:12]
+  assign io_fle = 1'h0; // @[Decode.scala 750:12]
+  assign io_fclass = 1'h0; // @[Decode.scala 751:15]
+  assign io_fcvtsw = 1'h0; // @[Decode.scala 752:15]
+  assign io_fcvtswu = 1'h0; // @[Decode.scala 753:16]
+  assign io_fmvwx = 1'h0; // @[Decode.scala 754:14]
+  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 680:97]
+  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 681:76]
+  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 686:71]
+  assign io_viop = _io_viop_T_5 | vdupi; // @[Decode.scala 699:20]
+  assign io_ebreak = 1'h0; // @[Decode.scala 756:15]
+  assign io_ecall = 1'h0; // @[Decode.scala 757:15]
+  assign io_eexit = 1'h0; // @[Decode.scala 758:15]
+  assign io_eyield = 1'h0; // @[Decode.scala 759:15]
+  assign io_ectxsw = 1'h0; // @[Decode.scala 760:15]
+  assign io_mpause = 1'h0; // @[Decode.scala 761:15]
+  assign io_mret = 1'h0; // @[Decode.scala 762:15]
+  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 796:15]
+  assign io_fencei = 1'h0; // @[Decode.scala 765:17]
+  assign io_flushat = 1'h0; // @[Decode.scala 766:17]
+  assign io_flushall = 1'h0; // @[Decode.scala 767:17]
+  assign io_slog = 1'h0; // @[Decode.scala 769:13]
   always @(posedge clock) begin
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fatal; // @[Decode.scala 814:9]
+          $fatal; // @[Decode.scala 800:9]
         end
     `ifdef STOP_COND
       end
@@ -11648,7 +11544,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:814 assert(!onehot_failed)\n"); // @[Decode.scala 814:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:800 assert(!onehot_failed)\n"); // @[Decode.scala 800:9]
         end
     `ifdef PRINTF_COND
       end
@@ -11660,7 +11556,7 @@
     `endif
         if (_T_6 & _T_2) begin
           $fwrite(32'h80000002,"[FAIL] decode  inst=%x  addr=%x  decoded=0b%b  pipeline=%d\n",io_inst,io_addr,decoded,2'h2
-            ); // @[Decode.scala 819:11]
+            ); // @[Decode.scala 805:11]
         end
     `ifdef PRINTF_COND
       end
@@ -11668,10 +11564,10 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Decode.scala 817:45]
-      onehot_failed <= 1'h0; // @[Decode.scala 818:19]
+    if (reset) begin // @[Decode.scala 803:45]
+      onehot_failed <= 1'h0; // @[Decode.scala 804:19]
     end else begin
-      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 813:30]
+      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 799:30]
     end
   end
 // Register and memory initialization
@@ -11735,7 +11631,6 @@
   input  [31:0] io_scoreboard_regd,
   input  [31:0] io_scoreboard_comb,
   output [31:0] io_scoreboard_spec,
-  input  [31:0] io_fscoreboard,
   output        io_rs1Read_valid,
   output [4:0]  io_rs1Read_addr,
   output        io_rs1Set_valid,
@@ -11750,7 +11645,7 @@
   output [31:0] io_busRead_immed,
   output        io_alu_valid,
   output [4:0]  io_alu_addr,
-  output [18:0] io_alu_op,
+  output [17:0] io_alu_op,
   output        io_bru_valid,
   output        io_bru_fwd,
   output [16:0] io_bru_op,
@@ -11766,13 +11661,11 @@
   output [4:0]  io_mlu_addr,
   output [8:0]  io_mlu_op,
   output [3:0]  io_dvu_op,
-  output [4:0]  io_fpu_raddr_1,
-  output [26:0] io_fpu_op,
   output        io_vinst_valid,
   input         io_vinst_ready,
   output [4:0]  io_vinst_addr,
   output [31:0] io_vinst_inst,
-  output [5:0]  io_vinst_op,
+  output [4:0]  io_vinst_op,
   input         io_branchTaken,
   input         io_interlock,
   input         io_serializeIn_mul,
@@ -11871,7 +11764,6 @@
   wire  d_io_fcvtsw; // @[Decode.scala 91:17]
   wire  d_io_fcvtswu; // @[Decode.scala 91:17]
   wire  d_io_fmvwx; // @[Decode.scala 91:17]
-  wire  d_io_clb; // @[Decode.scala 91:17]
   wire  d_io_clz; // @[Decode.scala 91:17]
   wire  d_io_ctz; // @[Decode.scala 91:17]
   wire  d_io_pcnt; // @[Decode.scala 91:17]
@@ -11884,7 +11776,6 @@
   wire  d_io_vld; // @[Decode.scala 91:17]
   wire  d_io_vst; // @[Decode.scala 91:17]
   wire  d_io_viop; // @[Decode.scala 91:17]
-  wire  d_io_vfop; // @[Decode.scala 91:17]
   wire  d_io_ebreak; // @[Decode.scala 91:17]
   wire  d_io_ecall; // @[Decode.scala 91:17]
   wire  d_io_eexit; // @[Decode.scala 91:17]
@@ -11907,7 +11798,7 @@
   wire  isAluImm = _isAluImm_T_3 | d_io_andi | d_io_slli | d_io_srli | d_io_srai; // @[Decode.scala 104:66]
   wire  _isAluReg_T_4 = d_io_add | d_io_sub | d_io_slt | d_io_sltu | d_io_xor | d_io_or; // @[Decode.scala 106:76]
   wire  isAluReg = _isAluReg_T_4 | d_io_and | d_io_sll | d_io_srl | d_io_sra; // @[Decode.scala 107:62]
-  wire  isAlu1Bit = d_io_clb | d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:52]
+  wire  isAlu1Bit = d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:40]
   wire  isAlu2Bit = d_io_min | d_io_minu | d_io_max | d_io_maxu; // @[Decode.scala 110:53]
   wire  _isCondBr_T_3 = d_io_beq | d_io_bne | d_io_blt | d_io_bge | d_io_bltu; // @[Decode.scala 112:63]
   wire  isCondBr = _isCondBr_T_3 | d_io_bgeu; // @[Decode.scala 113:28]
@@ -11916,38 +11807,30 @@
   wire  isLsu = isLoad | isStore | d_io_vld | d_io_vst; // @[Decode.scala 121:69]
   wire  isMul = d_io_mul | d_io_mulh | d_io_mulhsu | d_io_mulhu | d_io_mulhr | d_io_mulhsur | d_io_mulhur | d_io_dmulh
      | d_io_dmulhr; // @[Decode.scala 123:125]
-  wire  fpuRs2 = d_io_vfop & io_inst_inst[1]; // @[Decode.scala 129:255]
-  wire  isVFop = io_vinst_op[5]; // @[Decode.scala 133:27]
-  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 134:27]
-  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 137:26]
-  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 141:37]
-  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr | fpuRs2; // @[Decode.scala 141:83]
-  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 142:37]
-  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc | isVFop | fpuRs2; // @[Decode.scala 142:93]
-  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 143:37]
-  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isVFop | isAluImm | isAlu1Bit | fpuRs2; // @[Decode.scala 143:118]
-  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 146:35]
-  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 149:48]
-  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 150:35]
-  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 149:58]
-  wire  _lsuEn_T = ~isLsu; // @[Decode.scala 153:15]
-  wire  _lsuEn_T_5 = _lsuEn_T | ~io_serializeIn_brcond; // @[Decode.scala 155:23]
-  wire  _lsuEn_T_6 = io_lsu_ready & _lsuEn_T_5; // @[Decode.scala 154:51]
-  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 156:20]
-  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 158:49]
-  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 157:50]
-  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 156:15]
-  wire  _lsuEn_T_18 = _lsuEn_T_6 & _lsuEn_T_17; // @[Decode.scala 155:50]
-  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 153:22]
-  wire  mulEn = ~isMul | ~io_serializeIn_mul; // @[Decode.scala 161:22]
-  wire [31:0] _fpuEn_T_8 = io_fscoreboard >> rs2Addr; // @[Decode.scala 166:53]
-  wire  _fpuEn_T_10 = fpuRs2 & _fpuEn_T_8[0]; // @[Decode.scala 166:36]
-  wire  fpuEn = ~fpuRs2 | ~_fpuEn_T_10; // @[Decode.scala 164:24]
-  wire  _vinstEn_T_5 = ~(isVFop & io_serializeIn_brcond); // @[Decode.scala 173:17]
-  wire  _vinstEn_T_6 = ~(isVIop & io_serializeIn_brcond) & _vinstEn_T_5; // @[Decode.scala 172:76]
-  wire  _vinstEn_T_10 = ~(io_vinst_op != 6'h0 & ~io_vinst_ready); // @[Decode.scala 174:17]
-  wire  vinstEn = _vinstEn_T_6 & _vinstEn_T_10; // @[Decode.scala 173:76]
-  wire  aluValid_value__9 = io_alu_op[18]; // @[Library.scala 182:26]
+  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 133:27]
+  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 136:26]
+  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 140:37]
+  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr; // @[Decode.scala 140:71]
+  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 141:37]
+  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc; // @[Decode.scala 141:69]
+  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 142:37]
+  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isAluImm | isAlu1Bit; // @[Decode.scala 142:95]
+  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 145:35]
+  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 148:48]
+  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 149:35]
+  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 148:58]
+  wire  _lsuEn_T = ~isLsu; // @[Decode.scala 152:15]
+  wire  _lsuEn_T_5 = _lsuEn_T | ~io_serializeIn_brcond; // @[Decode.scala 154:23]
+  wire  _lsuEn_T_6 = io_lsu_ready & _lsuEn_T_5; // @[Decode.scala 153:51]
+  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 155:20]
+  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 157:49]
+  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 156:50]
+  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 155:15]
+  wire  _lsuEn_T_18 = _lsuEn_T_6 & _lsuEn_T_17; // @[Decode.scala 154:50]
+  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 152:22]
+  wire  mulEn = ~isMul | ~io_serializeIn_mul; // @[Decode.scala 160:22]
+  wire  _vinstEn_T_6 = ~(io_vinst_op != 5'h0 & ~io_vinst_ready); // @[Decode.scala 172:17]
+  wire  vinstEn = ~(isVIop & io_serializeIn_brcond) & _vinstEn_T_6; // @[Decode.scala 171:76]
   wire  aluValid_value__0 = io_alu_op[0] | io_alu_op[1]; // @[Library.scala 194:39]
   wire  aluValid_value__1 = io_alu_op[2] | io_alu_op[3]; // @[Library.scala 194:39]
   wire  aluValid_value__2 = io_alu_op[4] | io_alu_op[5]; // @[Library.scala 194:39]
@@ -11961,32 +11844,30 @@
   wire  aluValid_value_1_1 = aluValid_value__2 | aluValid_value__3; // @[Library.scala 194:39]
   wire  aluValid_value_1_2 = aluValid_value__4 | aluValid_value__5; // @[Library.scala 194:39]
   wire  aluValid_value_1_3 = aluValid_value__6 | aluValid_value__7; // @[Library.scala 194:39]
-  wire  aluValid_value_1_4 = aluValid_value__8 | aluValid_value__9; // @[Library.scala 194:39]
   wire  aluValid_value_2_0 = aluValid_value_1_0 | aluValid_value_1_1; // @[Library.scala 194:39]
   wire  aluValid_value_2_1 = aluValid_value_1_2 | aluValid_value_1_3; // @[Library.scala 194:39]
   wire  aluValid_value_3_0 = aluValid_value_2_0 | aluValid_value_2_1; // @[Library.scala 194:39]
-  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value_1_4; // @[Library.scala 194:39]
-  wire  aluOp_1 = d_io_sub; // @[Decode.scala 182:19 189:19]
-  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 188:46]
-  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 191:33]
-  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 190:32]
-  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 193:31]
-  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 192:32]
-  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 196:32]
-  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 195:32]
-  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 194:32]
-  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 186:22]
-  wire  aluOp_10 = d_io_lui; // @[Decode.scala 182:19 198:19]
-  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 197:32]
-  wire  aluOp_13 = d_io_ctz; // @[Decode.scala 182:19 201:19]
-  wire  aluOp_12 = d_io_clz; // @[Decode.scala 182:19 200:19]
-  wire  aluOp_11 = d_io_clb; // @[Decode.scala 182:19 199:19]
-  wire  aluOp_15 = d_io_min; // @[Decode.scala 182:19 203:19]
-  wire  aluOp_14 = d_io_pcnt; // @[Decode.scala 182:19 202:19]
-  wire  aluOp_18 = d_io_maxu; // @[Decode.scala 182:19 206:19]
-  wire  aluOp_17 = d_io_max; // @[Decode.scala 182:19 205:19]
-  wire  aluOp_16 = d_io_minu; // @[Decode.scala 182:19 204:19]
-  wire [9:0] io_alu_op_hi = {aluOp_18,aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 186:22]
+  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value__8; // @[Library.scala 194:39]
+  wire  aluOp_1 = d_io_sub; // @[Decode.scala 180:19 187:19]
+  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 186:46]
+  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 189:33]
+  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 188:32]
+  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 191:31]
+  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 190:32]
+  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 194:32]
+  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 193:32]
+  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 192:32]
+  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 184:22]
+  wire  aluOp_10 = d_io_lui; // @[Decode.scala 180:19 196:19]
+  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 195:32]
+  wire  aluOp_12 = d_io_ctz; // @[Decode.scala 180:19 198:19]
+  wire  aluOp_11 = d_io_clz; // @[Decode.scala 180:19 197:19]
+  wire  aluOp_14 = d_io_min; // @[Decode.scala 180:19 200:19]
+  wire  aluOp_13 = d_io_pcnt; // @[Decode.scala 180:19 199:19]
+  wire  aluOp_17 = d_io_maxu; // @[Decode.scala 180:19 203:19]
+  wire  aluOp_16 = d_io_max; // @[Decode.scala 180:19 202:19]
+  wire  aluOp_15 = d_io_minu; // @[Decode.scala 180:19 201:19]
+  wire [8:0] io_alu_op_hi = {aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 184:22]
   wire  bruValid_value__8 = io_bru_op[16]; // @[Library.scala 182:26]
   wire  bruValid_value__0 = io_bru_op[0] | io_bru_op[1]; // @[Library.scala 194:39]
   wire  bruValid_value__1 = io_bru_op[2] | io_bru_op[3]; // @[Library.scala 194:39]
@@ -12004,18 +11885,18 @@
   wire  bruValid_value_2_1 = bruValid_value_1_2 | bruValid_value_1_3; // @[Library.scala 194:39]
   wire  bruValid_value_3_0 = bruValid_value_2_0 | bruValid_value_2_1; // @[Library.scala 194:39]
   wire  bruValid_value_4_0 = bruValid_value_3_0 | bruValid_value__8; // @[Library.scala 194:39]
-  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 210:19 220:19]
-  wire  bruOp_0 = d_io_jal; // @[Decode.scala 210:19 219:19]
-  wire  bruOp_3 = d_io_bne; // @[Decode.scala 210:19 222:19]
-  wire  bruOp_2 = d_io_beq; // @[Decode.scala 210:19 221:19]
-  wire  bruOp_5 = d_io_bge; // @[Decode.scala 210:19 224:19]
-  wire  bruOp_4 = d_io_blt; // @[Decode.scala 210:19 223:19]
-  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 210:19 226:19]
-  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 210:19 225:19]
-  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 214:22]
-  wire  bruOp_16 = d_io_undef; // @[Decode.scala 210:19 235:21]
-  wire [8:0] io_bru_op_hi = {bruOp_16,1'h0,1'h0,2'h0,4'h0}; // @[Decode.scala 214:22]
-  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 216:38]
+  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 207:19 217:19]
+  wire  bruOp_0 = d_io_jal; // @[Decode.scala 207:19 216:19]
+  wire  bruOp_3 = d_io_bne; // @[Decode.scala 207:19 219:19]
+  wire  bruOp_2 = d_io_beq; // @[Decode.scala 207:19 218:19]
+  wire  bruOp_5 = d_io_bge; // @[Decode.scala 207:19 221:19]
+  wire  bruOp_4 = d_io_blt; // @[Decode.scala 207:19 220:19]
+  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 207:19 223:19]
+  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 207:19 222:19]
+  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 211:22]
+  wire  bruOp_16 = d_io_undef; // @[Decode.scala 207:19 232:21]
+  wire [8:0] io_bru_op_hi = {bruOp_16,1'h0,1'h0,2'h0,4'h0}; // @[Decode.scala 211:22]
+  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 213:38]
   wire  csrValid_value__1 = io_csr_op[2]; // @[Library.scala 182:26]
   wire  csrValid_value__0 = io_csr_op[0] | io_csr_op[1]; // @[Library.scala 194:39]
   wire  csrValid_value_1_0 = csrValid_value__0 | csrValid_value__1; // @[Library.scala 194:39]
@@ -12032,16 +11913,16 @@
   wire  lsuValid_value_2_0 = lsuValid_value_1_0 | lsuValid_value_1_1; // @[Library.scala 194:39]
   wire  lsuValid_value_2_1 = lsuValid_value_1_2 | lsuValid_value__6; // @[Library.scala 194:39]
   wire  lsuValid_value_3_0 = lsuValid_value_2_0 | lsuValid_value_2_1; // @[Library.scala 194:39]
-  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 252:19 261:18]
-  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 252:19 260:18]
-  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 252:19 259:18]
-  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 252:19 263:18]
-  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 252:19 262:18]
-  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 252:19 265:18]
-  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 252:19 264:18]
-  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 257:22]
-  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 252:19 266:18]
-  wire [6:0] io_lsu_op_hi = {vldst,1'h0,2'h0,2'h0,lsuOp_7}; // @[Decode.scala 257:22]
+  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 249:19 258:18]
+  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 249:19 257:18]
+  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 249:19 256:18]
+  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 249:19 260:18]
+  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 249:19 259:18]
+  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 249:19 262:18]
+  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 249:19 261:18]
+  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 254:22]
+  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 249:19 263:18]
+  wire [6:0] io_lsu_op_hi = {vldst,1'h0,2'h0,2'h0,lsuOp_7}; // @[Decode.scala 254:22]
   wire  mluValid_value__4 = io_mlu_op[8]; // @[Library.scala 182:26]
   wire  mluValid_value__0 = io_mlu_op[0] | io_mlu_op[1]; // @[Library.scala 194:39]
   wire  mluValid_value__1 = io_mlu_op[2] | io_mlu_op[3]; // @[Library.scala 194:39]
@@ -12051,59 +11932,56 @@
   wire  mluValid_value_1_1 = mluValid_value__2 | mluValid_value__3; // @[Library.scala 194:39]
   wire  mluValid_value_2_0 = mluValid_value_1_0 | mluValid_value_1_1; // @[Library.scala 194:39]
   wire  mluValid_value_3_0 = mluValid_value_2_0 | mluValid_value__4; // @[Library.scala 194:39]
-  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 276:19 283:22]
-  wire  mluOp_0 = d_io_mul; // @[Decode.scala 276:19 282:22]
-  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 276:19 285:22]
-  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 276:19 284:22]
-  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 280:22]
-  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 276:19 287:22]
-  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 276:19 286:22]
-  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 276:19 290:22]
-  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 276:19 289:22]
-  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 276:19 288:22]
-  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 280:22]
+  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 273:19 280:22]
+  wire  mluOp_0 = d_io_mul; // @[Decode.scala 273:19 279:22]
+  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 273:19 282:22]
+  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 273:19 281:22]
+  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 277:22]
+  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 273:19 284:22]
+  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 273:19 283:22]
+  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 273:19 287:22]
+  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 273:19 286:22]
+  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 273:19 285:22]
+  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 277:22]
   wire  dvuValid_value__0 = io_dvu_op[0] | io_dvu_op[1]; // @[Library.scala 194:39]
   wire  dvuValid_value__1 = io_dvu_op[2] | io_dvu_op[3]; // @[Library.scala 194:39]
   wire  dvuValid_value_1_0 = dvuValid_value__0 | dvuValid_value__1; // @[Library.scala 194:39]
-  wire  dvuEn = ~dvuValid_value_1_0; // @[Decode.scala 305:34]
-  wire [13:0] io_fpu_op_hi = {fpuRs2,1'h0,2'h0,3'h0,7'h0}; // @[Decode.scala 313:22]
-  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 349:21 361:24]
-  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 349:21 362:27]
+  wire  dvuEn = ~dvuValid_value_1_0; // @[Decode.scala 302:34]
+  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 345:21 356:24]
+  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 345:21 357:27]
   wire  vinstValid_value__0 = vinstOp_0 | vinstOp_1; // @[Library.scala 194:39]
-  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 349:21 357:22]
-  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 349:21 358:22]
+  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 345:21 353:22]
+  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 345:21 354:22]
   wire  vinstValid_value__1 = vinstOp_2 | vinstOp_3; // @[Library.scala 194:39]
-  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 349:21 359:23]
-  wire  vinstOp_5 = d_io_vfop; // @[Decode.scala 349:21 360:23]
-  wire  vinstValid_value__2 = vinstOp_4 | vinstOp_5; // @[Library.scala 194:39]
   wire  vinstValid_value_1_0 = vinstValid_value__0 | vinstValid_value__1; // @[Library.scala 194:39]
-  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstValid_value__2; // @[Library.scala 194:39]
-  wire [2:0] io_vinst_op_lo = {vinstOp_2,vinstOp_1,vinstOp_0}; // @[Decode.scala 355:26]
-  wire [2:0] io_vinst_op_hi = {vinstOp_5,vinstOp_4,vinstOp_3}; // @[Decode.scala 355:26]
-  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 368:45]
-  wire  _io_rs1Read_valid_T_3 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit; // @[Decode.scala 368:82]
-  wire  _io_rs1Read_valid_T_6 = _io_rs1Read_valid_T_3 | isMul; // @[Decode.scala 369:44]
-  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_6 | d_io_getvl | d_io_vld; // @[Decode.scala 370:79]
-  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 371:32]
-  wire  _io_rs2Read_valid_T_2 = _io_rs1Read_valid_T | isAlu2Bit | isStore; // @[Decode.scala 372:70]
-  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_2 | isMul | d_io_getvl | d_io_vld; // @[Decode.scala 373:77]
-  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 374:44]
-  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 389:45]
-  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 395:16]
-  wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | _rdMark_valid_T_4; // @[Decode.scala 394:68]
-  wire  _rdMark_valid_T_13 = _rdMark_valid_T_5 | d_io_getvl; // @[Decode.scala 396:55]
-  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 398:55]
-  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 397:47]
+  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 345:21 355:23]
+  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstOp_4; // @[Library.scala 194:39]
+  wire [1:0] io_vinst_op_lo = {vinstOp_1,vinstOp_0}; // @[Decode.scala 351:26]
+  wire [2:0] io_vinst_op_hi = {vinstOp_4,vinstOp_3,vinstOp_2}; // @[Decode.scala 351:26]
+  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 363:45]
+  wire  _io_rs1Read_valid_T_3 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit; // @[Decode.scala 363:82]
+  wire  _io_rs1Read_valid_T_6 = _io_rs1Read_valid_T_3 | isMul; // @[Decode.scala 364:44]
+  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_6 | d_io_getvl | d_io_vld; // @[Decode.scala 365:79]
+  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 366:32]
+  wire  _io_rs2Read_valid_T_2 = _io_rs1Read_valid_T | isAlu2Bit | isStore; // @[Decode.scala 367:70]
+  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_2 | isMul | d_io_getvl | d_io_vld; // @[Decode.scala 368:77]
+  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 369:44]
+  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 384:45]
+  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 390:16]
+  wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | _rdMark_valid_T_4; // @[Decode.scala 389:68]
+  wire  _rdMark_valid_T_13 = _rdMark_valid_T_5 | d_io_getvl; // @[Decode.scala 391:55]
+  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 393:55]
+  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 392:47]
   wire [31:0] _scoreboard_spec_T = 32'h1 << rdAddr; // @[OneHot.scala 64:12]
-  wire [31:0] scoreboard_spec = rdMark_valid ? _scoreboard_spec_T : 32'h0; // @[Decode.scala 401:28]
-  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 413:65]
-  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 412:8]
-  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 417:47]
-  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 420:30]
-  wire  _io_inst_ready_T_7 = ~io_serializeIn_jump; // @[Decode.scala 426:20]
-  wire  _io_inst_ready_T_8 = aluEn & bruEn & lsuEn & mulEn & dvuEn & fpuEn & vinstEn & _io_inst_ready_T_7; // @[Decode.scala 425:93]
-  wire  _io_inst_ready_T_14 = ~d_io_undef; // @[Decode.scala 427:43]
-  wire  _io_serializeOut_brcond_T = io_serializeIn_brcond | d_io_beq; // @[Decode.scala 437:51]
+  wire [31:0] scoreboard_spec = rdMark_valid ? _scoreboard_spec_T : 32'h0; // @[Decode.scala 396:28]
+  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 408:65]
+  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 407:8]
+  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 412:47]
+  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 415:30]
+  wire  _io_inst_ready_T_7 = ~io_serializeIn_jump; // @[Decode.scala 421:20]
+  wire  _io_inst_ready_T_8 = aluEn & bruEn & lsuEn & mulEn & dvuEn & vinstEn & _io_inst_ready_T_7; // @[Decode.scala 420:93]
+  wire  _io_inst_ready_T_14 = ~d_io_undef; // @[Decode.scala 422:43]
+  wire  _io_serializeOut_brcond_T = io_serializeIn_brcond | d_io_beq; // @[Decode.scala 432:51]
   DecodedInstruction_2 d ( // @[Decode.scala 91:17]
     .clock(d_clock),
     .reset(d_reset),
@@ -12194,7 +12072,6 @@
     .io_fcvtsw(d_io_fcvtsw),
     .io_fcvtswu(d_io_fcvtswu),
     .io_fmvwx(d_io_fmvwx),
-    .io_clb(d_io_clb),
     .io_clz(d_io_clz),
     .io_ctz(d_io_ctz),
     .io_pcnt(d_io_pcnt),
@@ -12207,7 +12084,6 @@
     .io_vld(d_io_vld),
     .io_vst(d_io_vst),
     .io_viop(d_io_viop),
-    .io_vfop(d_io_vfop),
     .io_ebreak(d_io_ebreak),
     .io_ecall(d_io_ecall),
     .io_eexit(d_io_eexit),
@@ -12221,46 +12097,44 @@
     .io_flushall(d_io_flushall),
     .io_slog(d_io_slog)
   );
-  assign io_inst_ready = _io_inst_ready_T_8 & ~io_halted & ~io_interlock & _io_inst_ready_T_14; // @[Decode.scala 426:72]
+  assign io_inst_ready = _io_inst_ready_T_8 & ~io_halted & ~io_interlock & _io_inst_ready_T_14; // @[Decode.scala 421:72]
   assign io_scoreboard_spec = {scoreboard_spec[31:1],1'h0}; // @[Cat.scala 31:58]
-  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 368:32]
-  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 377:25]
-  assign io_rs1Set_valid = decodeEn & d_io_auipc; // @[Decode.scala 383:31]
-  assign io_rs1Set_value = io_inst_addr; // @[Decode.scala 386:25]
-  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 372:32]
+  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 363:32]
+  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 372:25]
+  assign io_rs1Set_valid = decodeEn & d_io_auipc; // @[Decode.scala 378:31]
+  assign io_rs1Set_value = io_inst_addr; // @[Decode.scala 381:25]
+  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 367:32]
   assign io_rs2Read_addr = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 384:38]
+  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 379:38]
   assign io_rs2Set_value = _io_rs2Set_value_T ? d_io_imm20 : d_io_imm12; // @[Mux.scala 101:16]
-  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 404:31]
+  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 399:31]
   assign io_rdMark_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 411:52]
+  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 406:52]
   assign io_busRead_immed = {d_io_imm12[31:5],_io_busRead_immed_T_3}; // @[Cat.scala 31:58]
-  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 184:28]
+  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 182:28]
   assign io_alu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 186:22]
-  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 212:28]
-  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 213:14]
-  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 214:22]
-  assign io_bru_pc = io_inst_addr; // @[Decode.scala 215:13]
-  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 216:33]
+  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 184:22]
+  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 209:28]
+  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 210:14]
+  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 211:22]
+  assign io_bru_pc = io_inst_addr; // @[Decode.scala 212:13]
+  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 213:33]
   assign io_bru_link = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_csr_op = 3'h0; // @[Decode.scala 244:22]
-  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 254:28]
+  assign io_csr_op = 3'h0; // @[Decode.scala 241:22]
+  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 251:28]
   assign io_lsu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 257:22]
-  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 278:28]
+  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 254:22]
+  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 275:28]
   assign io_mlu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 280:22]
-  assign io_dvu_op = 4'h0; // @[Decode.scala 298:22]
-  assign io_fpu_raddr_1 = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_fpu_op = {io_fpu_op_hi,13'h0}; // @[Decode.scala 313:22]
-  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 352:30]
+  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 277:22]
+  assign io_dvu_op = 4'h0; // @[Decode.scala 295:22]
+  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 348:30]
   assign io_vinst_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 354:17]
-  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 355:26]
-  assign io_serializeOut_mul = io_serializeIn_mul | mluValid_value_3_0; // @[Decode.scala 433:46]
-  assign io_serializeOut_jump = io_serializeIn_jump | d_io_jal | d_io_jalr; // @[Decode.scala 434:59]
-  assign io_serializeOut_brcond = _io_serializeOut_brcond_T | d_io_bne | d_io_blt | d_io_bge | d_io_bltu | d_io_bgeu; // @[Decode.scala 438:65]
+  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 350:17]
+  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 351:26]
+  assign io_serializeOut_mul = io_serializeIn_mul | mluValid_value_3_0; // @[Decode.scala 428:46]
+  assign io_serializeOut_jump = io_serializeIn_jump | d_io_jal | d_io_jalr; // @[Decode.scala 429:59]
+  assign io_serializeOut_brcond = _io_serializeOut_brcond_T | d_io_bne | d_io_blt | d_io_bge | d_io_bltu | d_io_bgeu; // @[Decode.scala 433:65]
   assign d_clock = clock;
   assign d_reset = reset;
   assign d_io_addr = io_inst_addr; // @[Decode.scala 92:13]
@@ -12356,7 +12230,6 @@
   output        io_fcvtsw,
   output        io_fcvtswu,
   output        io_fmvwx,
-  output        io_clb,
   output        io_clz,
   output        io_ctz,
   output        io_pcnt,
@@ -12369,7 +12242,6 @@
   output        io_vld,
   output        io_vst,
   output        io_viop,
-  output        io_vfop,
   output        io_ebreak,
   output        io_ecall,
   output        io_eexit,
@@ -12393,343 +12265,328 @@
   wire [4:0] io_immbr_lo = {io_inst[11:8],1'h0}; // @[Cat.scala 31:58]
   wire [26:0] io_immbr_hi = {_io_imm12_T_2,io_inst[7],io_inst[30:25]}; // @[Cat.scala 31:58]
   wire [26:0] io_immst_hi = {_io_imm12_T_2,io_inst[31:25]}; // @[Cat.scala 31:58]
-  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 316:23]
-  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 316:23]
-  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 316:23]
-  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 316:23]
-  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 316:23]
-  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 316:23]
-  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 316:23]
-  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 316:23]
-  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 316:23]
-  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 316:23]
-  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 316:23]
-  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 316:23]
-  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 316:23]
-  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 316:23]
-  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 316:23]
-  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 316:23]
-  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 316:23]
-  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 316:23]
-  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 310:19]
-  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 313:23]
-  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 313:23]
-  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 310:19]
-  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 313:23]
-  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 313:23]
-  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 313:23]
-  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 310:19]
-  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 310:19]
-  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 311:48]
-  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 310:19]
-  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 310:19]
-  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 310:19]
-  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 310:19]
-  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+  wire  io_lui_bit_1 = io_inst[30]; // @[Library.scala 318:23]
+  wire  io_lui_bit_2 = io_inst[29]; // @[Library.scala 318:23]
+  wire  io_lui_bit_3 = io_inst[28]; // @[Library.scala 318:23]
+  wire  io_lui_bit_4 = io_inst[27]; // @[Library.scala 318:23]
+  wire  io_lui_bit_5 = io_inst[26]; // @[Library.scala 318:23]
+  wire  io_lui_bit_6 = io_inst[25]; // @[Library.scala 318:23]
+  wire  io_lui_bit_7 = io_inst[24]; // @[Library.scala 318:23]
+  wire  io_lui_bit_8 = io_inst[23]; // @[Library.scala 318:23]
+  wire  io_lui_bit_9 = io_inst[22]; // @[Library.scala 318:23]
+  wire  io_lui_bit_10 = io_inst[21]; // @[Library.scala 318:23]
+  wire  io_lui_bit_12 = io_inst[19]; // @[Library.scala 318:23]
+  wire  io_lui_bit_13 = io_inst[18]; // @[Library.scala 318:23]
+  wire  io_lui_bit_14 = io_inst[17]; // @[Library.scala 318:23]
+  wire  io_lui_bit_15 = io_inst[16]; // @[Library.scala 318:23]
+  wire  io_lui_bit_16 = io_inst[15]; // @[Library.scala 318:23]
+  wire  io_lui_bit_17 = io_inst[14]; // @[Library.scala 318:23]
+  wire  io_lui_bit_18 = io_inst[13]; // @[Library.scala 318:23]
+  wire  io_lui_bit_19 = io_inst[12]; // @[Library.scala 318:23]
+  wire  io_lui_bit_25 = ~io_inst[6]; // @[Library.scala 312:19]
+  wire  io_lui_bit_26 = io_inst[5]; // @[Library.scala 315:23]
+  wire  io_lui_bit_27 = io_inst[4]; // @[Library.scala 315:23]
+  wire  _io_lui_T_2 = io_lui_bit_25 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  io_lui_bit_28 = ~io_inst[3]; // @[Library.scala 312:19]
+  wire  _io_lui_T_3 = _io_lui_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_lui_bit_29 = io_inst[2]; // @[Library.scala 315:23]
+  wire  io_lui_bit_30 = io_inst[1]; // @[Library.scala 315:23]
+  wire  io_lui_bit_31 = io_inst[0]; // @[Library.scala 315:23]
+  wire  io_auipc_bit_26 = ~io_lui_bit_26; // @[Library.scala 312:19]
+  wire  _io_auipc_T_1 = io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_auipc_T_2 = _io_auipc_T_1 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_auipc_T_3 = _io_auipc_T_2 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_jal_T_1 = io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  io_jal_bit_27 = ~io_lui_bit_27; // @[Library.scala 312:19]
+  wire  _io_jal_T_2 = _io_jal_T_1 & io_jal_bit_27; // @[Library.scala 313:48]
+  wire  io_jalr_bit_17 = ~io_lui_bit_17; // @[Library.scala 312:19]
+  wire  io_jalr_bit_18 = ~io_lui_bit_18; // @[Library.scala 312:19]
+  wire  _io_jalr_T_1 = io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  io_jalr_bit_19 = ~io_lui_bit_19; // @[Library.scala 312:19]
+  wire  _io_jalr_T_2 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_jalr_T_4 = _io_jalr_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_jalr_T_6 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  io_beq_bit_29 = ~io_lui_bit_29; // @[Library.scala 312:19]
+  wire  _io_beq_T_7 = _io_jalr_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bne_T_2 = _io_jalr_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bne_T_4 = _io_jalr_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bne_T_7 = _io_bne_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_blt_T_1 = io_lui_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_blt_T_2 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_blt_T_4 = _io_blt_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_blt_T_7 = _io_blt_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bge_T_2 = _io_blt_T_1 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bge_T_4 = _io_blt_T_1 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bge_T_7 = _io_bge_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bltu_T_1 = io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_bltu_T_2 = _io_bltu_T_1 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_bltu_T_4 = _io_bltu_T_2 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bltu_T_7 = _io_bltu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_bgeu_T_2 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_4 = io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19 & io_inst[6] & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_bgeu_T_7 = _io_bgeu_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lb_T_3 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lb_T_4 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lb_T_7 = io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lh_T_3 = _io_bne_T_2 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lh_T_7 = _io_bne_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lw_T_1 = io_jalr_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_lw_T_3 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_lw_T_4 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lw_T_7 = _io_lw_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 &
-    io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
+    io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lbu_T_4 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
   wire  _io_lbu_T_7 = io_lui_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27
-     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 314:48]
-  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 310:19]
-  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 310:19]
-  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 311:48]
-  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 310:19]
-  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 310:19]
-  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 311:48]
-  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 310:19]
-  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 310:19]
-  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 310:19]
-  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 310:19]
-  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 310:19]
-  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 310:19]
-  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 310:19]
-  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 310:19]
+     & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_lhu_T_7 = _io_bge_T_2 & io_lui_bit_25 & io_auipc_bit_26 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sb_T_4 = _io_lb_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sb_T_7 = _io_sb_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sh_T_4 = _io_lh_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sh_T_7 = _io_sh_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sw_T_4 = _io_lw_T_3 & io_lui_bit_26; // @[Library.scala 316:48]
+  wire  _io_sw_T_7 = _io_sw_T_4 & io_jal_bit_27 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_fence_bit = ~io_inst[31]; // @[Library.scala 312:19]
+  wire  io_fence_bit_1 = ~io_lui_bit_1; // @[Library.scala 312:19]
+  wire  _io_fence_T_1 = io_fence_bit & io_fence_bit_1; // @[Library.scala 313:48]
+  wire  io_fence_bit_2 = ~io_lui_bit_2; // @[Library.scala 312:19]
+  wire  _io_fence_T_2 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  io_fence_bit_3 = ~io_lui_bit_3; // @[Library.scala 312:19]
+  wire  _io_fence_T_3 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3; // @[Library.scala 313:48]
+  wire  io_fence_bit_12 = ~io_lui_bit_12; // @[Library.scala 312:19]
+  wire  io_fence_bit_13 = ~io_lui_bit_13; // @[Library.scala 312:19]
+  wire  io_fence_bit_14 = ~io_lui_bit_14; // @[Library.scala 312:19]
+  wire  io_fence_bit_15 = ~io_lui_bit_15; // @[Library.scala 312:19]
+  wire  io_fence_bit_16 = ~io_lui_bit_16; // @[Library.scala 312:19]
+  wire  _io_addi_T_5 = _io_lb_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_addi_T_7 = _io_addi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slti_T_5 = _io_lw_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slti_T_7 = _io_slti_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_2 = io_jalr_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_4 = _io_sltiu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_sltiu_T_5 = _io_sltiu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltiu_T_7 = _io_sltiu_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xori_T_5 = _io_lbu_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xori_T_7 = _io_xori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ori_T_4 = _io_bltu_T_1 & io_jalr_bit_19 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ori_T_5 = _io_ori_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ori_T_7 = _io_ori_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_andi_T_4 = _io_bgeu_T_2 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_andi_T_5 = _io_andi_T_4 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_andi_T_7 = _io_andi_T_5 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  io_slli_bit_4 = ~io_lui_bit_4; // @[Library.scala 312:19]
+  wire  _io_slli_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  io_slli_bit_5 = ~io_lui_bit_5; // @[Library.scala 312:19]
+  wire  _io_slli_T_5 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  io_slli_bit_6 = ~io_lui_bit_6; // @[Library.scala 312:19]
   wire  _io_slli_T_6 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6; // @[Library.scala 311:48]
+     & io_slli_bit_6; // @[Library.scala 313:48]
   wire  _io_slli_T_7 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
   wire  _io_slli_T_8 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 314:48]
-  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 311:48]
-  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 311:48]
-  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_slli_T_9 = _io_slli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_slli_T_10 = _io_slli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slli_T_11 = _io_slli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_slli_T_12 = _io_slli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slli_T_14 = _io_slli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srli_T_7 = _io_slli_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srli_T_8 = _io_srli_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srli_T_9 = _io_srli_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srli_T_10 = _io_srli_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srli_T_11 = _io_srli_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srli_T_12 = _io_srli_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srli_T_14 = _io_srli_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srai_T_1 = io_fence_bit & io_lui_bit_1; // @[Library.scala 316:48]
+  wire  _io_srai_T_2 = _io_srai_T_1 & io_fence_bit_2; // @[Library.scala 313:48]
+  wire  _io_srai_T_6 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6; // @[Library.scala 313:48]
+  wire  _io_srai_T_7 = _io_srai_T_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_srai_T_8 = _io_srai_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_srai_T_9 = _io_srai_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_srai_T_10 = _io_srai_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_srai_T_11 = _io_srai_T_9 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_srai_T_12 = _io_srai_T_11 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srai_T_14 = _io_srai_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_add_T_10 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5
-     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
+     & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_add_T_12 = _io_add_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_add_T_14 = _io_add_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
   wire  _io_sub_T_10 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 314:48]
-  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 311:48]
-  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 314:48]
-  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 310:19]
-  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 310:19]
-  wire  _io_clb_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 314:48]
-  wire  _io_clb_T_7 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7; // @[Library.scala 311:48]
-  wire  _io_clb_T_8 = _io_clb_T_7 & io_lui_bit_8; // @[Library.scala 314:48]
-  wire  _io_clb_T_13 = _io_clb_T_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 &
-    io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clb_T_14 = _io_clb_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clb_T_16 = _io_clb_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clb_T_17 = _io_clb_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clb_T_19 = _io_clb_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_clz_T_9 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 311:48]
-  wire  _io_clz_T_10 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 311:48]
-  wire  _io_clz_T_13 = _io_clb_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
-    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 314:48]
-  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 311:48]
-  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 314:48]
-  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 311:48]
-  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 314:48]
-  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 314:48]
-  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 311:48]
-  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 311:48]
-  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 688:89]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sub_T_12 = _io_sub_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sub_T_14 = _io_sub_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_slt_T_8 = _io_slli_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_slt_T_10 = _io_slt_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_slt_T_12 = _io_slt_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_slt_T_14 = _io_slt_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sltu_T_9 = _io_slli_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_sltu_T_10 = _io_sltu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_sltu_T_12 = _io_sltu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sltu_T_14 = _io_sltu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_xor_T_10 = _io_srli_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_xor_T_12 = _io_xor_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_xor_T_14 = _io_xor_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_or_T_8 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_or_T_10 = _io_or_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_or_T_12 = _io_or_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_or_T_14 = _io_or_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_and_T_9 = _io_slli_T_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_and_T_10 = _io_and_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_and_T_12 = _io_and_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_and_T_14 = _io_and_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sll_T_12 = _io_slli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sll_T_14 = _io_sll_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_srl_T_12 = _io_srli_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_srl_T_14 = _io_srl_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_sra_T_12 = _io_srai_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_sra_T_14 = _io_sra_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mul_T_6 = _io_slli_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mul_T_7 = _io_mul_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mul_T_8 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mul_T_10 = _io_mul_T_6 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mul_T_12 = _io_mul_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mul_T_14 = _io_mul_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulh_T_9 = _io_mul_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulh_T_10 = _io_mulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulh_T_12 = _io_mulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulh_T_14 = _io_mulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_8 = _io_mul_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_10 = _io_mulhsu_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsu_T_12 = _io_mulhsu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsu_T_14 = _io_mulhsu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_9 = _io_mul_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_10 = _io_mulhu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhu_T_12 = _io_mulhu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhu_T_14 = _io_mulhu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_2 = _io_fence_T_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_4 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_5 = _io_mulhr_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_6 = _io_mulhr_T_5 & io_lui_bit_6; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_7 = _io_mulhr_T_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_8 = _io_mulhr_T_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_9 = _io_mulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_10 = _io_mulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhr_T_12 = _io_mulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhr_T_14 = _io_mulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_8 = _io_mulhr_T_7 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_10 = _io_mulhsur_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhsur_T_12 = _io_mulhsur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhsur_T_14 = _io_mulhsur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_9 = _io_mulhr_T_7 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_10 = _io_mulhur_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_mulhur_T_12 = _io_mulhur_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_mulhur_T_14 = _io_mulhur_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_5 = _io_slli_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_8 = _io_dmulh_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_9 = _io_dmulh_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_10 = _io_dmulh_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulh_T_12 = _io_dmulh_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulh_T_14 = _io_dmulh_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_5 = _io_mulhr_T_4 & io_lui_bit_5; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_8 = _io_dmulhr_T_5 & io_slli_bit_6 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_9 = _io_dmulhr_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_10 = _io_dmulhr_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_dmulhr_T_12 = _io_dmulhr_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_dmulhr_T_14 = _io_dmulhr_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_fsub_T_4 = _io_fence_T_3 & io_lui_bit_4; // @[Library.scala 316:48]
+  wire  _io_fsub_T_5 = _io_fsub_T_4 & io_slli_bit_5; // @[Library.scala 313:48]
+  wire  _io_fmul_T_3 = _io_fence_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  _io_fsqrt_T_3 = _io_srai_T_2 & io_lui_bit_3; // @[Library.scala 316:48]
+  wire  io_fcvtws_bit_7 = ~io_lui_bit_7; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_8 = ~io_lui_bit_8; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_9 = ~io_lui_bit_9; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_10 = ~io_lui_bit_10; // @[Library.scala 312:19]
+  wire  io_fcvtws_bit_11 = ~io_inst[20]; // @[Library.scala 312:19]
+  wire  _io_clz_T_2 = io_fence_bit & io_lui_bit_1 & io_lui_bit_2; // @[Library.scala 316:48]
+  wire  _io_clz_T_9 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9; // @[Library.scala 313:48]
+  wire  _io_clz_T_10 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10; // @[Library.scala 313:48]
+  wire  _io_clz_T_13 = _io_clz_T_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 &
+    io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_clz_T_14 = _io_clz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_clz_T_16 = _io_clz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_clz_T_17 = _io_clz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_clz_T_19 = _io_clz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_ctz_T_11 = _io_clz_T_10 & io_inst[20]; // @[Library.scala 316:48]
+  wire  _io_ctz_T_13 = _io_ctz_T_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_ctz_T_14 = _io_ctz_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_ctz_T_16 = _io_ctz_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_ctz_T_17 = _io_ctz_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_ctz_T_19 = _io_ctz_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_10 = _io_clz_T_9 & io_lui_bit_10; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_13 = _io_pcnt_T_10 & io_fcvtws_bit_11 & io_jalr_bit_17 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_14 = _io_pcnt_T_13 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_16 = _io_pcnt_T_14 & io_lui_bit_25 & io_auipc_bit_26; // @[Library.scala 313:48]
+  wire  _io_pcnt_T_17 = _io_pcnt_T_16 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_pcnt_T_19 = _io_pcnt_T_17 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_min_T_7 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17; // @[Library.scala 316:48]
+  wire  _io_min_T_8 = _io_min_T_7 & io_jalr_bit_18; // @[Library.scala 313:48]
+  wire  _io_min_T_10 = _io_min_T_7 & io_jalr_bit_18 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_min_T_12 = _io_min_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_min_T_14 = _io_min_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_minu_T_9 = _io_min_T_8 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_minu_T_10 = _io_minu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_minu_T_12 = _io_minu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_minu_T_14 = _io_minu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_max_T_8 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18; // @[Library.scala 316:48]
+  wire  _io_max_T_10 = _io_max_T_8 & io_jalr_bit_19 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_max_T_12 = _io_max_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_max_T_14 = _io_max_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_maxu_T_9 = _io_fsub_T_5 & io_lui_bit_6 & io_lui_bit_17 & io_lui_bit_18 & io_lui_bit_19; // @[Library.scala 316:48]
+  wire  _io_maxu_T_10 = _io_maxu_T_9 & io_lui_bit_25; // @[Library.scala 313:48]
+  wire  _io_maxu_T_12 = _io_maxu_T_10 & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_maxu_T_14 = _io_maxu_T_12 & io_lui_bit_28 & io_beq_bit_29; // @[Library.scala 313:48]
+  wire  _io_getvl_T_6 = _io_fmul_T_3 & io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getvl_T_9 = _io_getvl_T_6 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getvl_T_10 = _io_getvl_T_9 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getvl_T_13 = _io_getvl_T_10 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_getvl_T_15 = io_inst[26:25] != 2'h3; // @[Decode.scala 680:89]
   wire  _io_getmaxvl_T_16 = _io_fmul_T_3 & io_fcvtws_bit_7 & io_fcvtws_bit_8 & io_fcvtws_bit_9 & io_fcvtws_bit_10 &
     io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 &
-    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 314:48]
-  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 311:48]
-  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  _io_vst_T_14 = _io_clb_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_jalr_bit_17 & io_jalr_bit_18 & io_jalr_bit_19; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_19 = _io_getmaxvl_T_16 & io_inst[6] & io_lui_bit_26 & io_lui_bit_27; // @[Library.scala 316:48]
+  wire  _io_getmaxvl_T_20 = _io_getmaxvl_T_19 & io_lui_bit_28; // @[Library.scala 313:48]
+  wire  _io_getmaxvl_T_23 = _io_getmaxvl_T_20 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vld_T_4 = io_fence_bit & io_fence_bit_1 & io_fence_bit_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_4 = _io_mulhr_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_9 = _io_vst_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  _io_vst_T_14 = _io_clz_T_2 & io_slli_bit_6 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _io_vst_T_19 = _io_vst_T_14 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vconv_T_17 = _io_fsqrt_T_3 & io_slli_bit_4 & io_slli_bit_5 & io_slli_bit_6 & io_fcvtws_bit_7 & io_fcvtws_bit_8
      & io_fcvtws_bit_9 & io_fcvtws_bit_10 & io_fcvtws_bit_11 & io_fence_bit_12 & io_fence_bit_13 & io_fence_bit_14 &
-    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
+    io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  vconv = _vconv_T_17 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
   wire  _vdup_T_11 = _io_srai_T_1 & io_fence_bit_2 & io_fence_bit_3 & io_slli_bit_4 & io_slli_bit_6 & io_fence_bit_12 &
-    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 311:48]
-  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 701:72]
-  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 702:20]
-  wire  vdupf = vdup & io_lui_bit_5; // @[Decode.scala 703:20]
-  wire  _vfma_T_1 = ~io_lui_bit_31; // @[Decode.scala 706:21]
-  wire  vfma = ~io_lui_bit_31 & io_inst[4:2] == 3'h5; // @[Decode.scala 706:29]
-  wire  _vfma4_T_1 = io_inst[1:0] == 2'h1; // @[Decode.scala 707:23]
-  wire [3:0] _vfma4_T_4 = {io_inst[13:12],io_inst[4:3]}; // @[Cat.scala 31:58]
-  wire  vfma4 = io_inst[1:0] == 2'h1 & _vfma4_T_4 == 4'h0; // @[Decode.scala 707:31]
-  wire  _io_viop_T_7 = _vfma4_T_1 & ~vfma4; // @[Decode.scala 712:30]
-  wire  _io_viop_T_8 = _vfma_T_1 & ~vfma | _io_viop_T_7; // @[Decode.scala 711:37]
-  wire  _io_viop_T_9 = _io_viop_T_8 | vconv; // @[Decode.scala 712:40]
+    io_fence_bit_13 & io_fence_bit_14 & io_fence_bit_15 & io_fence_bit_16 & io_jalr_bit_17; // @[Library.scala 313:48]
+  wire  _vdup_T_16 = _vdup_T_11 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  wire  vdup = _vdup_T_16 & io_inst[13:12] <= 2'h2; // @[Decode.scala 693:72]
+  wire  vdupi = vdup & io_slli_bit_5; // @[Decode.scala 694:20]
+  wire  _io_viop_T_3 = io_inst[1:0] == 2'h1; // @[Decode.scala 698:22]
+  wire  _io_viop_T_4 = ~io_lui_bit_31 | _io_viop_T_3; // @[Decode.scala 697:28]
+  wire  _io_viop_T_5 = _io_viop_T_4 | vconv; // @[Decode.scala 698:30]
   wire [5:0] decoded_lo_lo_lo_lo = {io_mpause,io_mret,io_fencei,io_flushat,io_flushall,io_slog}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_lo_lo = {io_getvl,io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,
-    decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vfop,io_vld,io_vst}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_lo_lo = {io_fmvwx,io_clb,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,decoded_lo_lo_lo
-    }; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_lo_lo = {io_feq,io_flt,io_fle,io_fclass,io_fcvtsw,io_fcvtswu}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_lo_hi_lo = {io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,io_fmvxw,decoded_lo_hi_lo_lo}
+  wire [11:0] decoded_lo_lo_lo = {io_getmaxvl,io_ebreak,io_ecall,io_eexit,io_eyield,io_ectxsw,decoded_lo_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_lo_hi_lo = {io_max,io_maxu,io_viop,io_vld,io_vst,io_getvl}; // @[Cat.scala 31:58]
+  wire [24:0] decoded_lo_lo = {io_fcvtswu,io_fmvwx,io_clz,io_ctz,io_pcnt,io_min,io_minu,decoded_lo_lo_hi_lo,
+    decoded_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_lo_hi_lo_lo = {io_fmvxw,io_feq,io_flt,io_fle,io_fclass,io_fcvtsw}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_lo_hi_lo = {io_fsgnj,io_fsgnjn,io_fsgnjx,io_fmin,io_fmax,io_fcvtws,io_fcvtwus,decoded_lo_hi_lo_lo}
     ; // @[Cat.scala 31:58]
-  wire [5:0] decoded_lo_hi_hi_lo = {io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt,io_fsgnj}; // @[Cat.scala 31:58]
-  wire [51:0] decoded_lo = {io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,io_fnmadd,decoded_lo_hi_hi_lo,
+  wire [5:0] decoded_lo_hi_hi_lo = {io_fnmadd,io_fadd,io_fsub,io_fmul,io_fdiv,io_fsqrt}; // @[Cat.scala 31:58]
+  wire [50:0] decoded_lo = {io_rem,io_remu,io_flw,io_fsw,io_fmadd,io_fmsub,io_fnmsub,decoded_lo_hi_hi_lo,
     decoded_lo_hi_lo,decoded_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu,io_rem}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_lo_lo = {io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,io_mulhsur,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_lo_hi_lo = {io_and,io_slli,io_srli,io_srai,io_sll,io_srl}; // @[Cat.scala 31:58]
-  wire [25:0] decoded_hi_lo = {io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,io_or,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] decoded_hi_hi_lo_lo = {io_fence,io_addi,io_slti,io_sltiu,io_xori,io_ori}; // @[Cat.scala 31:58]
-  wire [12:0] decoded_hi_hi_lo = {io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,io_sw,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [6:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc,io_lb}; // @[Cat.scala 31:58]
-  wire [52:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
+  wire [5:0] decoded_hi_lo_lo_lo = {io_mulhsur,io_mulhur,io_dmulh,io_dmulhr,io_div,io_divu}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_lo_lo = {io_srl,io_sra,io_mul,io_mulh,io_mulhsu,io_mulhu,io_mulhr,decoded_hi_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_lo_hi_lo = {io_or,io_and,io_slli,io_srli,io_srai,io_sll}; // @[Cat.scala 31:58]
+  wire [25:0] decoded_hi_lo = {io_ori,io_andi,io_add,io_sub,io_slt,io_sltu,io_xor,decoded_hi_lo_hi_lo,decoded_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_lo_lo = {io_sw,io_fence,io_addi,io_slti,io_sltiu,io_xori}; // @[Cat.scala 31:58]
+  wire [12:0] decoded_hi_hi_lo = {io_lb,io_lh,io_lw,io_lbu,io_lhu,io_sb,io_sh,decoded_hi_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [5:0] decoded_hi_hi_hi_lo = {io_bge,io_bltu,io_bgeu,io_csrrw,io_csrrs,io_csrrc}; // @[Cat.scala 31:58]
+  wire [51:0] decoded_hi = {io_lui,io_auipc,io_jal,io_jalr,io_beq,io_bne,io_blt,decoded_hi_hi_hi_lo,decoded_hi_hi_lo,
     decoded_hi_lo}; // @[Cat.scala 31:58]
-  wire [104:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
-  wire  io_undef_value__52 = decoded[104]; // @[Library.scala 182:26]
+  wire [102:0] decoded = {decoded_hi,decoded_lo}; // @[Cat.scala 31:58]
+  wire  io_undef_value__51 = decoded[102]; // @[Library.scala 182:26]
   wire  io_undef_value__0 = decoded[0] | decoded[1]; // @[Library.scala 194:39]
   wire  io_undef_value__1 = decoded[2] | decoded[3]; // @[Library.scala 194:39]
   wire  io_undef_value__2 = decoded[4] | decoded[5]; // @[Library.scala 194:39]
@@ -12781,7 +12638,6 @@
   wire  io_undef_value__48 = decoded[96] | decoded[97]; // @[Library.scala 194:39]
   wire  io_undef_value__49 = decoded[98] | decoded[99]; // @[Library.scala 194:39]
   wire  io_undef_value__50 = decoded[100] | decoded[101]; // @[Library.scala 194:39]
-  wire  io_undef_value__51 = decoded[102] | decoded[103]; // @[Library.scala 194:39]
   wire  io_undef_value_1_0 = io_undef_value__0 | io_undef_value__1; // @[Library.scala 194:39]
   wire  io_undef_value_1_1 = io_undef_value__2 | io_undef_value__3; // @[Library.scala 194:39]
   wire  io_undef_value_1_2 = io_undef_value__4 | io_undef_value__5; // @[Library.scala 194:39]
@@ -12827,272 +12683,267 @@
   wire  io_undef_value_3_3 = io_undef_value_2_6 | io_undef_value_2_7; // @[Library.scala 194:39]
   wire  io_undef_value_3_4 = io_undef_value_2_8 | io_undef_value_2_9; // @[Library.scala 194:39]
   wire  io_undef_value_3_5 = io_undef_value_2_10 | io_undef_value_2_11; // @[Library.scala 194:39]
-  wire  io_undef_value_3_6 = io_undef_value_2_12 | io_undef_value__52; // @[Library.scala 194:39]
   wire  io_undef_value_4_0 = io_undef_value_3_0 | io_undef_value_3_1; // @[Library.scala 194:39]
   wire  io_undef_value_4_1 = io_undef_value_3_2 | io_undef_value_3_3; // @[Library.scala 194:39]
   wire  io_undef_value_4_2 = io_undef_value_3_4 | io_undef_value_3_5; // @[Library.scala 194:39]
   wire  io_undef_value_5_0 = io_undef_value_4_0 | io_undef_value_4_1; // @[Library.scala 194:39]
-  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_3_6; // @[Library.scala 194:39]
+  wire  io_undef_value_5_1 = io_undef_value_4_2 | io_undef_value_2_12; // @[Library.scala 194:39]
   wire  io_undef_value_6_0 = io_undef_value_5_0 | io_undef_value_5_1; // @[Library.scala 194:39]
-  reg  onehot_failed; // @[Decode.scala 813:30]
-  wire  _T_2 = ~reset; // @[Decode.scala 814:9]
-  wire [1:0] _onehot_decode_T_105 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
+  reg  onehot_failed; // @[Decode.scala 799:30]
+  wire  _T_2 = ~reset; // @[Decode.scala 800:9]
+  wire [1:0] _onehot_decode_T_103 = decoded[1] + decoded[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_1 = {{1'd0}, decoded[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_107 = _GEN_1 + _onehot_decode_T_105; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_109 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_105 = _GEN_1 + _onehot_decode_T_103; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_107 = decoded[4] + decoded[5]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_2 = {{1'd0}, decoded[3]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_111 = _GEN_2 + _onehot_decode_T_109; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_113 = _onehot_decode_T_107[1:0] + _onehot_decode_T_111[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_115 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_109 = _GEN_2 + _onehot_decode_T_107; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_111 = _onehot_decode_T_105[1:0] + _onehot_decode_T_109[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_113 = decoded[7] + decoded[8]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_3 = {{1'd0}, decoded[6]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_117 = _GEN_3 + _onehot_decode_T_115; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_119 = decoded[9] + decoded[10]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_121 = decoded[11] + decoded[12]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_123 = _onehot_decode_T_119 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_4 = {{1'd0}, _onehot_decode_T_117[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_125 = _GEN_4 + _onehot_decode_T_123; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_127 = _onehot_decode_T_113 + _onehot_decode_T_125[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_129 = decoded[14] + decoded[15]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_5 = {{1'd0}, decoded[13]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_131 = _GEN_5 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_133 = decoded[17] + decoded[18]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_6 = {{1'd0}, decoded[16]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_135 = _GEN_6 + _onehot_decode_T_133; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_137 = _onehot_decode_T_131[1:0] + _onehot_decode_T_135[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_139 = decoded[20] + decoded[21]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_7 = {{1'd0}, decoded[19]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_141 = _GEN_7 + _onehot_decode_T_139; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_143 = decoded[22] + decoded[23]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_145 = decoded[24] + decoded[25]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_147 = _onehot_decode_T_143 + _onehot_decode_T_145; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_141[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_149 = _GEN_8 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_151 = _onehot_decode_T_137 + _onehot_decode_T_149[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_153 = _onehot_decode_T_127 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_155 = decoded[27] + decoded[28]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_9 = {{1'd0}, decoded[26]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_157 = _GEN_9 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_159 = decoded[30] + decoded[31]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_10 = {{1'd0}, decoded[29]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_161 = _GEN_10 + _onehot_decode_T_159; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_163 = _onehot_decode_T_157[1:0] + _onehot_decode_T_161[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_165 = decoded[33] + decoded[34]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_11 = {{1'd0}, decoded[32]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_167 = _GEN_11 + _onehot_decode_T_165; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_169 = decoded[35] + decoded[36]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_171 = decoded[37] + decoded[38]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_173 = _onehot_decode_T_169 + _onehot_decode_T_171; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_167[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_175 = _GEN_12 + _onehot_decode_T_173; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_177 = _onehot_decode_T_163 + _onehot_decode_T_175[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_179 = decoded[40] + decoded[41]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_13 = {{1'd0}, decoded[39]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_181 = _GEN_13 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_183 = decoded[43] + decoded[44]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_14 = {{1'd0}, decoded[42]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_185 = _GEN_14 + _onehot_decode_T_183; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_187 = _onehot_decode_T_181[1:0] + _onehot_decode_T_185[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_189 = decoded[46] + decoded[47]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_15 = {{1'd0}, decoded[45]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_191 = _GEN_15 + _onehot_decode_T_189; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_193 = decoded[48] + decoded[49]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_195 = decoded[50] + decoded[51]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_197 = _onehot_decode_T_193 + _onehot_decode_T_195; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_191[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_199 = _GEN_16 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_201 = _onehot_decode_T_187 + _onehot_decode_T_199[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_203 = _onehot_decode_T_177 + _onehot_decode_T_201; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_205 = _onehot_decode_T_153 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_207 = decoded[53] + decoded[54]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_17 = {{1'd0}, decoded[52]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_209 = _GEN_17 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_211 = decoded[56] + decoded[57]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_18 = {{1'd0}, decoded[55]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_213 = _GEN_18 + _onehot_decode_T_211; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_215 = _onehot_decode_T_209[1:0] + _onehot_decode_T_213[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_217 = decoded[59] + decoded[60]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_19 = {{1'd0}, decoded[58]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_219 = _GEN_19 + _onehot_decode_T_217; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_221 = decoded[61] + decoded[62]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_223 = decoded[63] + decoded[64]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_225 = _onehot_decode_T_221 + _onehot_decode_T_223; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_219[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_227 = _GEN_20 + _onehot_decode_T_225; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_229 = _onehot_decode_T_215 + _onehot_decode_T_227[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_231 = decoded[66] + decoded[67]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_21 = {{1'd0}, decoded[65]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_233 = _GEN_21 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_235 = decoded[69] + decoded[70]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_22 = {{1'd0}, decoded[68]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_237 = _GEN_22 + _onehot_decode_T_235; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_239 = _onehot_decode_T_233[1:0] + _onehot_decode_T_237[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_241 = decoded[72] + decoded[73]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_23 = {{1'd0}, decoded[71]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_243 = _GEN_23 + _onehot_decode_T_241; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_245 = decoded[74] + decoded[75]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_247 = decoded[76] + decoded[77]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_249 = _onehot_decode_T_245 + _onehot_decode_T_247; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_243[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_251 = _GEN_24 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_253 = _onehot_decode_T_239 + _onehot_decode_T_251[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_255 = _onehot_decode_T_229 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_257 = decoded[79] + decoded[80]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_25 = {{1'd0}, decoded[78]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_259 = _GEN_25 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_261 = decoded[82] + decoded[83]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_26 = {{1'd0}, decoded[81]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_263 = _GEN_26 + _onehot_decode_T_261; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_265 = _onehot_decode_T_259[1:0] + _onehot_decode_T_263[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_267 = decoded[85] + decoded[86]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_27 = {{1'd0}, decoded[84]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_269 = _GEN_27 + _onehot_decode_T_267; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_271 = decoded[87] + decoded[88]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_273 = decoded[89] + decoded[90]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_275 = _onehot_decode_T_271 + _onehot_decode_T_273; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_269[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_277 = _GEN_28 + _onehot_decode_T_275; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_279 = _onehot_decode_T_265 + _onehot_decode_T_277[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_281 = decoded[92] + decoded[93]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_29 = {{1'd0}, decoded[91]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_283 = _GEN_29 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_285 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_287 = decoded[96] + decoded[97]; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_289 = _onehot_decode_T_285 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_30 = {{1'd0}, _onehot_decode_T_283[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_291 = _GEN_30 + _onehot_decode_T_289; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_293 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_31 = {{1'd0}, decoded[98]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_295 = _GEN_31 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_297 = decoded[101] + decoded[102]; // @[Bitwise.scala 48:55]
-  wire [1:0] _onehot_decode_T_299 = decoded[103] + io_undef_value__52; // @[Bitwise.scala 48:55]
-  wire [2:0] _onehot_decode_T_301 = _onehot_decode_T_297 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_295[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_303 = _GEN_32 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
-  wire [3:0] _onehot_decode_T_305 = _onehot_decode_T_291[2:0] + _onehot_decode_T_303[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _onehot_decode_T_307 = _onehot_decode_T_279 + _onehot_decode_T_305; // @[Bitwise.scala 48:55]
-  wire [5:0] _onehot_decode_T_309 = _onehot_decode_T_255 + _onehot_decode_T_307; // @[Bitwise.scala 48:55]
-  wire [6:0] onehot_decode = _onehot_decode_T_205 + _onehot_decode_T_309; // @[Bitwise.scala 48:55]
-  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 817:24]
-  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 817:24]
-  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 817:36]
+  wire [2:0] _onehot_decode_T_115 = _GEN_3 + _onehot_decode_T_113; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_117 = decoded[10] + decoded[11]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_4 = {{1'd0}, decoded[9]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_119 = _GEN_4 + _onehot_decode_T_117; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_121 = _onehot_decode_T_115[1:0] + _onehot_decode_T_119[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_123 = _onehot_decode_T_111 + _onehot_decode_T_121; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_125 = decoded[13] + decoded[14]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_5 = {{1'd0}, decoded[12]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_127 = _GEN_5 + _onehot_decode_T_125; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_129 = decoded[16] + decoded[17]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_6 = {{1'd0}, decoded[15]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_131 = _GEN_6 + _onehot_decode_T_129; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_133 = _onehot_decode_T_127[1:0] + _onehot_decode_T_131[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_135 = decoded[19] + decoded[20]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_7 = {{1'd0}, decoded[18]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_137 = _GEN_7 + _onehot_decode_T_135; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_139 = decoded[21] + decoded[22]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_141 = decoded[23] + decoded[24]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_143 = _onehot_decode_T_139 + _onehot_decode_T_141; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_8 = {{1'd0}, _onehot_decode_T_137[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_145 = _GEN_8 + _onehot_decode_T_143; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_147 = _onehot_decode_T_133 + _onehot_decode_T_145[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_149 = _onehot_decode_T_123 + _onehot_decode_T_147; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_151 = decoded[26] + decoded[27]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_9 = {{1'd0}, decoded[25]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_153 = _GEN_9 + _onehot_decode_T_151; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_155 = decoded[29] + decoded[30]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_10 = {{1'd0}, decoded[28]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_157 = _GEN_10 + _onehot_decode_T_155; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_159 = _onehot_decode_T_153[1:0] + _onehot_decode_T_157[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_161 = decoded[32] + decoded[33]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_11 = {{1'd0}, decoded[31]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_163 = _GEN_11 + _onehot_decode_T_161; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_165 = decoded[34] + decoded[35]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_167 = decoded[36] + decoded[37]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_169 = _onehot_decode_T_165 + _onehot_decode_T_167; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_12 = {{1'd0}, _onehot_decode_T_163[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_171 = _GEN_12 + _onehot_decode_T_169; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_173 = _onehot_decode_T_159 + _onehot_decode_T_171[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_175 = decoded[39] + decoded[40]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_13 = {{1'd0}, decoded[38]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_177 = _GEN_13 + _onehot_decode_T_175; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_179 = decoded[42] + decoded[43]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_14 = {{1'd0}, decoded[41]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_181 = _GEN_14 + _onehot_decode_T_179; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_183 = _onehot_decode_T_177[1:0] + _onehot_decode_T_181[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_185 = decoded[45] + decoded[46]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_15 = {{1'd0}, decoded[44]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_187 = _GEN_15 + _onehot_decode_T_185; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_189 = decoded[47] + decoded[48]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_191 = decoded[49] + decoded[50]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_193 = _onehot_decode_T_189 + _onehot_decode_T_191; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_16 = {{1'd0}, _onehot_decode_T_187[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_195 = _GEN_16 + _onehot_decode_T_193; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_197 = _onehot_decode_T_183 + _onehot_decode_T_195[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_199 = _onehot_decode_T_173 + _onehot_decode_T_197; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_201 = _onehot_decode_T_149 + _onehot_decode_T_199; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_203 = decoded[52] + decoded[53]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_17 = {{1'd0}, decoded[51]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_205 = _GEN_17 + _onehot_decode_T_203; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_207 = decoded[55] + decoded[56]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_18 = {{1'd0}, decoded[54]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_209 = _GEN_18 + _onehot_decode_T_207; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_211 = _onehot_decode_T_205[1:0] + _onehot_decode_T_209[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_213 = decoded[58] + decoded[59]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_19 = {{1'd0}, decoded[57]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_215 = _GEN_19 + _onehot_decode_T_213; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_217 = decoded[60] + decoded[61]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_219 = decoded[62] + decoded[63]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_221 = _onehot_decode_T_217 + _onehot_decode_T_219; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_20 = {{1'd0}, _onehot_decode_T_215[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_223 = _GEN_20 + _onehot_decode_T_221; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_225 = _onehot_decode_T_211 + _onehot_decode_T_223[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_227 = decoded[65] + decoded[66]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_21 = {{1'd0}, decoded[64]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_229 = _GEN_21 + _onehot_decode_T_227; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_231 = decoded[68] + decoded[69]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_22 = {{1'd0}, decoded[67]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_233 = _GEN_22 + _onehot_decode_T_231; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_235 = _onehot_decode_T_229[1:0] + _onehot_decode_T_233[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_237 = decoded[71] + decoded[72]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_23 = {{1'd0}, decoded[70]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_239 = _GEN_23 + _onehot_decode_T_237; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_241 = decoded[73] + decoded[74]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_243 = decoded[75] + decoded[76]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_245 = _onehot_decode_T_241 + _onehot_decode_T_243; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_24 = {{1'd0}, _onehot_decode_T_239[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_247 = _GEN_24 + _onehot_decode_T_245; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_249 = _onehot_decode_T_235 + _onehot_decode_T_247[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_251 = _onehot_decode_T_225 + _onehot_decode_T_249; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_253 = decoded[78] + decoded[79]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_25 = {{1'd0}, decoded[77]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_255 = _GEN_25 + _onehot_decode_T_253; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_257 = decoded[81] + decoded[82]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_26 = {{1'd0}, decoded[80]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_259 = _GEN_26 + _onehot_decode_T_257; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_261 = _onehot_decode_T_255[1:0] + _onehot_decode_T_259[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_263 = decoded[84] + decoded[85]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_27 = {{1'd0}, decoded[83]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_265 = _GEN_27 + _onehot_decode_T_263; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_267 = decoded[86] + decoded[87]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_269 = decoded[88] + decoded[89]; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_271 = _onehot_decode_T_267 + _onehot_decode_T_269; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_28 = {{1'd0}, _onehot_decode_T_265[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_273 = _GEN_28 + _onehot_decode_T_271; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_275 = _onehot_decode_T_261 + _onehot_decode_T_273[2:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_277 = decoded[91] + decoded[92]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_29 = {{1'd0}, decoded[90]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_279 = _GEN_29 + _onehot_decode_T_277; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_281 = decoded[94] + decoded[95]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_30 = {{1'd0}, decoded[93]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_283 = _GEN_30 + _onehot_decode_T_281; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_285 = _onehot_decode_T_279[1:0] + _onehot_decode_T_283[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_287 = decoded[97] + decoded[98]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_31 = {{1'd0}, decoded[96]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_289 = _GEN_31 + _onehot_decode_T_287; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_291 = decoded[99] + decoded[100]; // @[Bitwise.scala 48:55]
+  wire [1:0] _onehot_decode_T_293 = decoded[101] + io_undef_value__51; // @[Bitwise.scala 48:55]
+  wire [2:0] _onehot_decode_T_295 = _onehot_decode_T_291 + _onehot_decode_T_293; // @[Bitwise.scala 48:55]
+  wire [2:0] _GEN_32 = {{1'd0}, _onehot_decode_T_289[1:0]}; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_297 = _GEN_32 + _onehot_decode_T_295; // @[Bitwise.scala 48:55]
+  wire [3:0] _onehot_decode_T_299 = _onehot_decode_T_285 + _onehot_decode_T_297[2:0]; // @[Bitwise.scala 48:55]
+  wire [4:0] _onehot_decode_T_301 = _onehot_decode_T_275 + _onehot_decode_T_299; // @[Bitwise.scala 48:55]
+  wire [5:0] _onehot_decode_T_303 = _onehot_decode_T_251 + _onehot_decode_T_301; // @[Bitwise.scala 48:55]
+  wire [6:0] onehot_decode = _onehot_decode_T_201 + _onehot_decode_T_303; // @[Bitwise.scala 48:55]
+  wire [6:0] _GEN_33 = {{6'd0}, io_undef}; // @[Decode.scala 803:24]
+  wire [6:0] _T_5 = onehot_decode + _GEN_33; // @[Decode.scala 803:24]
+  wire  _T_6 = _T_5 != 7'h1; // @[Decode.scala 803:36]
   assign io_imm12 = {_io_imm12_T_2,io_inst[31:20]}; // @[Cat.scala 31:58]
   assign io_imm20 = {io_inst[31:12],12'h0}; // @[Cat.scala 31:58]
   assign io_immjal = {io_immjal_hi,io_immjal_lo}; // @[Cat.scala 31:58]
   assign io_immbr = {io_immbr_hi,io_immbr_lo}; // @[Cat.scala 31:58]
   assign io_immst = {io_immst_hi,io_inst[11:7]}; // @[Cat.scala 31:58]
-  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_csrrw = 1'h0; // @[Decode.scala 734:14]
-  assign io_csrrs = 1'h0; // @[Decode.scala 735:14]
-  assign io_csrrc = 1'h0; // @[Decode.scala 736:14]
-  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_fence = 1'h0; // @[Decode.scala 778:17]
-  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_div = 1'h0; // @[Decode.scala 738:12]
-  assign io_divu = 1'h0; // @[Decode.scala 739:13]
-  assign io_rem = 1'h0; // @[Decode.scala 740:12]
-  assign io_remu = 1'h0; // @[Decode.scala 741:13]
-  assign io_flw = 1'h0; // @[Decode.scala 743:12]
-  assign io_fsw = 1'h0; // @[Decode.scala 744:12]
-  assign io_fmadd = 1'h0; // @[Decode.scala 745:14]
-  assign io_fmsub = 1'h0; // @[Decode.scala 746:14]
-  assign io_fnmsub = 1'h0; // @[Decode.scala 747:15]
-  assign io_fnmadd = 1'h0; // @[Decode.scala 748:15]
-  assign io_fadd = 1'h0; // @[Decode.scala 749:13]
-  assign io_fsub = 1'h0; // @[Decode.scala 750:13]
-  assign io_fmul = 1'h0; // @[Decode.scala 751:13]
-  assign io_fdiv = 1'h0; // @[Decode.scala 752:13]
-  assign io_fsqrt = 1'h0; // @[Decode.scala 753:14]
-  assign io_fsgnj = 1'h0; // @[Decode.scala 754:14]
-  assign io_fsgnjn = 1'h0; // @[Decode.scala 755:15]
-  assign io_fsgnjx = 1'h0; // @[Decode.scala 756:15]
-  assign io_fmin = 1'h0; // @[Decode.scala 757:13]
-  assign io_fmax = 1'h0; // @[Decode.scala 758:13]
-  assign io_fcvtws = 1'h0; // @[Decode.scala 759:15]
-  assign io_fcvtwus = 1'h0; // @[Decode.scala 760:16]
-  assign io_fmvxw = 1'h0; // @[Decode.scala 761:14]
-  assign io_feq = 1'h0; // @[Decode.scala 762:12]
-  assign io_flt = 1'h0; // @[Decode.scala 763:12]
-  assign io_fle = 1'h0; // @[Decode.scala 764:12]
-  assign io_fclass = 1'h0; // @[Decode.scala 765:15]
-  assign io_fcvtsw = 1'h0; // @[Decode.scala 766:15]
-  assign io_fcvtswu = 1'h0; // @[Decode.scala 767:16]
-  assign io_fmvwx = 1'h0; // @[Decode.scala 768:14]
-  assign io_clb = _io_clb_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 688:97]
-  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 689:76]
-  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 314:48]
-  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 694:71]
-  assign io_viop = _io_viop_T_9 | vdupi; // @[Decode.scala 713:20]
-  assign io_vfop = vfma | vfma4 | vdupf; // @[Decode.scala 708:28]
-  assign io_ebreak = 1'h0; // @[Decode.scala 770:15]
-  assign io_ecall = 1'h0; // @[Decode.scala 771:15]
-  assign io_eexit = 1'h0; // @[Decode.scala 772:15]
-  assign io_eyield = 1'h0; // @[Decode.scala 773:15]
-  assign io_ectxsw = 1'h0; // @[Decode.scala 774:15]
-  assign io_mpause = 1'h0; // @[Decode.scala 775:15]
-  assign io_mret = 1'h0; // @[Decode.scala 776:15]
-  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 810:15]
-  assign io_fencei = 1'h0; // @[Decode.scala 779:17]
-  assign io_flushat = 1'h0; // @[Decode.scala 780:17]
-  assign io_flushall = 1'h0; // @[Decode.scala 781:17]
-  assign io_slog = 1'h0; // @[Decode.scala 783:13]
+  assign io_lui = _io_lui_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_auipc = _io_auipc_T_3 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jal = _io_jal_T_2 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_jalr = _io_jalr_T_6 & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_beq = _io_beq_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bne = _io_bne_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_blt = _io_blt_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bge = _io_bge_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bltu = _io_bltu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_bgeu = _io_bgeu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_csrrw = 1'h0; // @[Decode.scala 720:14]
+  assign io_csrrs = 1'h0; // @[Decode.scala 721:14]
+  assign io_csrrc = 1'h0; // @[Decode.scala 722:14]
+  assign io_lb = _io_lb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lh = _io_lh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lw = _io_lw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lbu = _io_lbu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_lhu = _io_lhu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sb = _io_sb_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sh = _io_sh_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sw = _io_sw_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_fence = 1'h0; // @[Decode.scala 764:17]
+  assign io_addi = _io_addi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slti = _io_slti_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltiu = _io_sltiu_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xori = _io_xori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ori = _io_ori_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_andi = _io_andi_T_7 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slli = _io_slli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srli = _io_srli_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srai = _io_srai_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_add = _io_add_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sub = _io_sub_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_slt = _io_slt_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sltu = _io_sltu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_xor = _io_xor_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_or = _io_or_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_and = _io_and_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sll = _io_sll_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_srl = _io_srl_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_sra = _io_sra_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mul = _io_mul_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulh = _io_mulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsu = _io_mulhsu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhu = _io_mulhu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhr = _io_mulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhsur = _io_mulhsur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_mulhur = _io_mulhur_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulh = _io_dmulh_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_dmulhr = _io_dmulhr_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_div = 1'h0; // @[Decode.scala 724:12]
+  assign io_divu = 1'h0; // @[Decode.scala 725:13]
+  assign io_rem = 1'h0; // @[Decode.scala 726:12]
+  assign io_remu = 1'h0; // @[Decode.scala 727:13]
+  assign io_flw = 1'h0; // @[Decode.scala 729:12]
+  assign io_fsw = 1'h0; // @[Decode.scala 730:12]
+  assign io_fmadd = 1'h0; // @[Decode.scala 731:14]
+  assign io_fmsub = 1'h0; // @[Decode.scala 732:14]
+  assign io_fnmsub = 1'h0; // @[Decode.scala 733:15]
+  assign io_fnmadd = 1'h0; // @[Decode.scala 734:15]
+  assign io_fadd = 1'h0; // @[Decode.scala 735:13]
+  assign io_fsub = 1'h0; // @[Decode.scala 736:13]
+  assign io_fmul = 1'h0; // @[Decode.scala 737:13]
+  assign io_fdiv = 1'h0; // @[Decode.scala 738:13]
+  assign io_fsqrt = 1'h0; // @[Decode.scala 739:14]
+  assign io_fsgnj = 1'h0; // @[Decode.scala 740:14]
+  assign io_fsgnjn = 1'h0; // @[Decode.scala 741:15]
+  assign io_fsgnjx = 1'h0; // @[Decode.scala 742:15]
+  assign io_fmin = 1'h0; // @[Decode.scala 743:13]
+  assign io_fmax = 1'h0; // @[Decode.scala 744:13]
+  assign io_fcvtws = 1'h0; // @[Decode.scala 745:15]
+  assign io_fcvtwus = 1'h0; // @[Decode.scala 746:16]
+  assign io_fmvxw = 1'h0; // @[Decode.scala 747:14]
+  assign io_feq = 1'h0; // @[Decode.scala 748:12]
+  assign io_flt = 1'h0; // @[Decode.scala 749:12]
+  assign io_fle = 1'h0; // @[Decode.scala 750:12]
+  assign io_fclass = 1'h0; // @[Decode.scala 751:15]
+  assign io_fcvtsw = 1'h0; // @[Decode.scala 752:15]
+  assign io_fcvtswu = 1'h0; // @[Decode.scala 753:16]
+  assign io_fmvwx = 1'h0; // @[Decode.scala 754:14]
+  assign io_clz = _io_clz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_ctz = _io_ctz_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_pcnt = _io_pcnt_T_19 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_min = _io_min_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_minu = _io_minu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_max = _io_max_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_maxu = _io_maxu_T_14 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_getvl = _io_getvl_T_13 & io_inst[26:25] != 2'h3 & (io_inst[24:20] != 5'h0 | io_inst[19:15] != 5'h0); // @[Decode.scala 680:97]
+  assign io_getmaxvl = _io_getmaxvl_T_23 & _io_getvl_T_15; // @[Decode.scala 681:76]
+  assign io_vld = _io_vld_T_4 & io_lui_bit_27 & io_inst[3] & io_lui_bit_29 & io_lui_bit_30 & io_lui_bit_31; // @[Library.scala 316:48]
+  assign io_vst = _io_vst_T_9 | _io_vst_T_19; // @[Decode.scala 686:71]
+  assign io_viop = _io_viop_T_5 | vdupi; // @[Decode.scala 699:20]
+  assign io_ebreak = 1'h0; // @[Decode.scala 756:15]
+  assign io_ecall = 1'h0; // @[Decode.scala 757:15]
+  assign io_eexit = 1'h0; // @[Decode.scala 758:15]
+  assign io_eyield = 1'h0; // @[Decode.scala 759:15]
+  assign io_ectxsw = 1'h0; // @[Decode.scala 760:15]
+  assign io_mpause = 1'h0; // @[Decode.scala 761:15]
+  assign io_mret = 1'h0; // @[Decode.scala 762:15]
+  assign io_undef = ~io_undef_value_6_0; // @[Decode.scala 796:15]
+  assign io_fencei = 1'h0; // @[Decode.scala 765:17]
+  assign io_flushat = 1'h0; // @[Decode.scala 766:17]
+  assign io_flushall = 1'h0; // @[Decode.scala 767:17]
+  assign io_slog = 1'h0; // @[Decode.scala 769:13]
   always @(posedge clock) begin
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fatal; // @[Decode.scala 814:9]
+          $fatal; // @[Decode.scala 800:9]
         end
     `ifdef STOP_COND
       end
@@ -13103,7 +12954,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (~reset & ~(~onehot_failed)) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:814 assert(!onehot_failed)\n"); // @[Decode.scala 814:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at Decode.scala:800 assert(!onehot_failed)\n"); // @[Decode.scala 800:9]
         end
     `ifdef PRINTF_COND
       end
@@ -13115,7 +12966,7 @@
     `endif
         if (_T_6 & _T_2) begin
           $fwrite(32'h80000002,"[FAIL] decode  inst=%x  addr=%x  decoded=0b%b  pipeline=%d\n",io_inst,io_addr,decoded,2'h3
-            ); // @[Decode.scala 819:11]
+            ); // @[Decode.scala 805:11]
         end
     `ifdef PRINTF_COND
       end
@@ -13123,10 +12974,10 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Decode.scala 817:45]
-      onehot_failed <= 1'h0; // @[Decode.scala 818:19]
+    if (reset) begin // @[Decode.scala 803:45]
+      onehot_failed <= 1'h0; // @[Decode.scala 804:19]
     end else begin
-      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 813:30]
+      onehot_failed <= _T_5 != 7'h1 | onehot_failed; // @[Decode.scala 799:30]
     end
   end
 // Register and memory initialization
@@ -13189,7 +13040,6 @@
   input         io_inst_brchFwd,
   input  [31:0] io_scoreboard_regd,
   input  [31:0] io_scoreboard_comb,
-  input  [31:0] io_fscoreboard,
   output        io_rs1Read_valid,
   output [4:0]  io_rs1Read_addr,
   output        io_rs1Set_valid,
@@ -13204,7 +13054,7 @@
   output [31:0] io_busRead_immed,
   output        io_alu_valid,
   output [4:0]  io_alu_addr,
-  output [18:0] io_alu_op,
+  output [17:0] io_alu_op,
   output        io_bru_valid,
   output        io_bru_fwd,
   output [16:0] io_bru_op,
@@ -13220,13 +13070,11 @@
   output [4:0]  io_mlu_addr,
   output [8:0]  io_mlu_op,
   output [3:0]  io_dvu_op,
-  output [4:0]  io_fpu_raddr_1,
-  output [26:0] io_fpu_op,
   output        io_vinst_valid,
   input         io_vinst_ready,
   output [4:0]  io_vinst_addr,
   output [31:0] io_vinst_inst,
-  output [5:0]  io_vinst_op,
+  output [4:0]  io_vinst_op,
   input         io_branchTaken,
   input         io_interlock,
   input         io_serializeIn_mul,
@@ -13322,7 +13170,6 @@
   wire  d_io_fcvtsw; // @[Decode.scala 91:17]
   wire  d_io_fcvtswu; // @[Decode.scala 91:17]
   wire  d_io_fmvwx; // @[Decode.scala 91:17]
-  wire  d_io_clb; // @[Decode.scala 91:17]
   wire  d_io_clz; // @[Decode.scala 91:17]
   wire  d_io_ctz; // @[Decode.scala 91:17]
   wire  d_io_pcnt; // @[Decode.scala 91:17]
@@ -13335,7 +13182,6 @@
   wire  d_io_vld; // @[Decode.scala 91:17]
   wire  d_io_vst; // @[Decode.scala 91:17]
   wire  d_io_viop; // @[Decode.scala 91:17]
-  wire  d_io_vfop; // @[Decode.scala 91:17]
   wire  d_io_ebreak; // @[Decode.scala 91:17]
   wire  d_io_ecall; // @[Decode.scala 91:17]
   wire  d_io_eexit; // @[Decode.scala 91:17]
@@ -13358,7 +13204,7 @@
   wire  isAluImm = _isAluImm_T_3 | d_io_andi | d_io_slli | d_io_srli | d_io_srai; // @[Decode.scala 104:66]
   wire  _isAluReg_T_4 = d_io_add | d_io_sub | d_io_slt | d_io_sltu | d_io_xor | d_io_or; // @[Decode.scala 106:76]
   wire  isAluReg = _isAluReg_T_4 | d_io_and | d_io_sll | d_io_srl | d_io_sra; // @[Decode.scala 107:62]
-  wire  isAlu1Bit = d_io_clb | d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:52]
+  wire  isAlu1Bit = d_io_clz | d_io_ctz | d_io_pcnt; // @[Decode.scala 109:40]
   wire  isAlu2Bit = d_io_min | d_io_minu | d_io_max | d_io_maxu; // @[Decode.scala 110:53]
   wire  _isCondBr_T_3 = d_io_beq | d_io_bne | d_io_blt | d_io_bge | d_io_bltu; // @[Decode.scala 112:63]
   wire  isCondBr = _isCondBr_T_3 | d_io_bgeu; // @[Decode.scala 113:28]
@@ -13367,38 +13213,30 @@
   wire  isLsu = isLoad | isStore | d_io_vld | d_io_vst; // @[Decode.scala 121:69]
   wire  isMul = d_io_mul | d_io_mulh | d_io_mulhsu | d_io_mulhu | d_io_mulhr | d_io_mulhsur | d_io_mulhur | d_io_dmulh
      | d_io_dmulhr; // @[Decode.scala 123:125]
-  wire  fpuRs2 = d_io_vfop & io_inst_inst[1]; // @[Decode.scala 129:255]
-  wire  isVFop = io_vinst_op[5]; // @[Decode.scala 133:27]
-  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 134:27]
-  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 137:26]
-  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 141:37]
-  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr | fpuRs2; // @[Decode.scala 141:83]
-  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 142:37]
-  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc | isVFop | fpuRs2; // @[Decode.scala 142:93]
-  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 143:37]
-  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isVFop | isAluImm | isAlu1Bit | fpuRs2; // @[Decode.scala 143:118]
-  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 146:35]
-  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 149:48]
-  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 150:35]
-  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 149:58]
-  wire  _lsuEn_T = ~isLsu; // @[Decode.scala 153:15]
-  wire  _lsuEn_T_5 = _lsuEn_T | ~io_serializeIn_brcond; // @[Decode.scala 155:23]
-  wire  _lsuEn_T_6 = io_lsu_ready & _lsuEn_T_5; // @[Decode.scala 154:51]
-  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 156:20]
-  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 158:49]
-  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 157:50]
-  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 156:15]
-  wire  _lsuEn_T_18 = _lsuEn_T_6 & _lsuEn_T_17; // @[Decode.scala 155:50]
-  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 153:22]
-  wire  mulEn = ~isMul | ~io_serializeIn_mul; // @[Decode.scala 161:22]
-  wire [31:0] _fpuEn_T_8 = io_fscoreboard >> rs2Addr; // @[Decode.scala 166:53]
-  wire  _fpuEn_T_10 = fpuRs2 & _fpuEn_T_8[0]; // @[Decode.scala 166:36]
-  wire  fpuEn = ~fpuRs2 | ~_fpuEn_T_10; // @[Decode.scala 164:24]
-  wire  _vinstEn_T_5 = ~(isVFop & io_serializeIn_brcond); // @[Decode.scala 173:17]
-  wire  _vinstEn_T_6 = ~(isVIop & io_serializeIn_brcond) & _vinstEn_T_5; // @[Decode.scala 172:76]
-  wire  _vinstEn_T_10 = ~(io_vinst_op != 6'h0 & ~io_vinst_ready); // @[Decode.scala 174:17]
-  wire  vinstEn = _vinstEn_T_6 & _vinstEn_T_10; // @[Decode.scala 173:76]
-  wire  aluValid_value__9 = io_alu_op[18]; // @[Library.scala 182:26]
+  wire  isVIop = io_vinst_op[4]; // @[Decode.scala 133:27]
+  wire  isVIopVs2 = isVIop & io_inst_inst[1:0] == 2'h0; // @[Decode.scala 136:26]
+  wire [31:0] _aluRdEn_T = io_scoreboard_comb >> rdAddr; // @[Decode.scala 140:37]
+  wire  aluRdEn = ~_aluRdEn_T[0] | isVIop | isStore | isCondBr; // @[Decode.scala 140:71]
+  wire [31:0] _aluRs1En_T = io_scoreboard_comb >> io_inst_inst[19:15]; // @[Decode.scala 141:37]
+  wire  aluRs1En = ~_aluRs1En_T[0] | isVIop | isLsu | d_io_auipc; // @[Decode.scala 141:69]
+  wire [31:0] _aluRs2En_T = io_scoreboard_comb >> rs2Addr; // @[Decode.scala 142:37]
+  wire  aluRs2En = ~_aluRs2En_T[0] | isVIopVs2 | isLsu | d_io_auipc | isAluImm | isAlu1Bit; // @[Decode.scala 142:95]
+  wire  aluEn = aluRdEn & aluRs1En & aluRs2En; // @[Decode.scala 145:35]
+  wire [31:0] _bruEn_T_1 = io_scoreboard_regd >> io_inst_inst[19:15]; // @[Decode.scala 148:48]
+  wire  _bruEn_T_6 = io_inst_inst[31:20] == 12'h0; // @[Decode.scala 149:35]
+  wire  bruEn = ~d_io_jalr | ~_bruEn_T_1[0] | _bruEn_T_6; // @[Decode.scala 148:58]
+  wire  _lsuEn_T = ~isLsu; // @[Decode.scala 152:15]
+  wire  _lsuEn_T_5 = _lsuEn_T | ~io_serializeIn_brcond; // @[Decode.scala 154:23]
+  wire  _lsuEn_T_6 = io_lsu_ready & _lsuEn_T_5; // @[Decode.scala 153:51]
+  wire  _lsuEn_T_11 = io_busRead_bypass ? _aluRs1En_T[0] : _bruEn_T_1[0]; // @[Decode.scala 155:20]
+  wire  _lsuEn_T_15 = _aluRs2En_T[0] & (isStore | vldst); // @[Decode.scala 157:49]
+  wire  _lsuEn_T_16 = _lsuEn_T_11 | _lsuEn_T_15; // @[Decode.scala 156:50]
+  wire  _lsuEn_T_17 = ~_lsuEn_T_16; // @[Decode.scala 155:15]
+  wire  _lsuEn_T_18 = _lsuEn_T_6 & _lsuEn_T_17; // @[Decode.scala 154:50]
+  wire  lsuEn = ~isLsu | _lsuEn_T_18; // @[Decode.scala 152:22]
+  wire  mulEn = ~isMul | ~io_serializeIn_mul; // @[Decode.scala 160:22]
+  wire  _vinstEn_T_6 = ~(io_vinst_op != 5'h0 & ~io_vinst_ready); // @[Decode.scala 172:17]
+  wire  vinstEn = ~(isVIop & io_serializeIn_brcond) & _vinstEn_T_6; // @[Decode.scala 171:76]
   wire  aluValid_value__0 = io_alu_op[0] | io_alu_op[1]; // @[Library.scala 194:39]
   wire  aluValid_value__1 = io_alu_op[2] | io_alu_op[3]; // @[Library.scala 194:39]
   wire  aluValid_value__2 = io_alu_op[4] | io_alu_op[5]; // @[Library.scala 194:39]
@@ -13412,32 +13250,30 @@
   wire  aluValid_value_1_1 = aluValid_value__2 | aluValid_value__3; // @[Library.scala 194:39]
   wire  aluValid_value_1_2 = aluValid_value__4 | aluValid_value__5; // @[Library.scala 194:39]
   wire  aluValid_value_1_3 = aluValid_value__6 | aluValid_value__7; // @[Library.scala 194:39]
-  wire  aluValid_value_1_4 = aluValid_value__8 | aluValid_value__9; // @[Library.scala 194:39]
   wire  aluValid_value_2_0 = aluValid_value_1_0 | aluValid_value_1_1; // @[Library.scala 194:39]
   wire  aluValid_value_2_1 = aluValid_value_1_2 | aluValid_value_1_3; // @[Library.scala 194:39]
   wire  aluValid_value_3_0 = aluValid_value_2_0 | aluValid_value_2_1; // @[Library.scala 194:39]
-  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value_1_4; // @[Library.scala 194:39]
-  wire  aluOp_1 = d_io_sub; // @[Decode.scala 182:19 189:19]
-  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 188:46]
-  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 191:33]
-  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 190:32]
-  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 193:31]
-  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 192:32]
-  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 196:32]
-  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 195:32]
-  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 194:32]
-  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 186:22]
-  wire  aluOp_10 = d_io_lui; // @[Decode.scala 182:19 198:19]
-  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 197:32]
-  wire  aluOp_13 = d_io_ctz; // @[Decode.scala 182:19 201:19]
-  wire  aluOp_12 = d_io_clz; // @[Decode.scala 182:19 200:19]
-  wire  aluOp_11 = d_io_clb; // @[Decode.scala 182:19 199:19]
-  wire  aluOp_15 = d_io_min; // @[Decode.scala 182:19 203:19]
-  wire  aluOp_14 = d_io_pcnt; // @[Decode.scala 182:19 202:19]
-  wire  aluOp_18 = d_io_maxu; // @[Decode.scala 182:19 206:19]
-  wire  aluOp_17 = d_io_max; // @[Decode.scala 182:19 205:19]
-  wire  aluOp_16 = d_io_minu; // @[Decode.scala 182:19 204:19]
-  wire [9:0] io_alu_op_hi = {aluOp_18,aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 186:22]
+  wire  aluValid_value_4_0 = aluValid_value_3_0 | aluValid_value__8; // @[Library.scala 194:39]
+  wire  aluOp_1 = d_io_sub; // @[Decode.scala 180:19 187:19]
+  wire  aluOp_0 = d_io_auipc | d_io_addi | d_io_add; // @[Decode.scala 186:46]
+  wire  aluOp_3 = d_io_sltiu | d_io_sltu; // @[Decode.scala 189:33]
+  wire  aluOp_2 = d_io_slti | d_io_slt; // @[Decode.scala 188:32]
+  wire  aluOp_5 = d_io_ori | d_io_or; // @[Decode.scala 191:31]
+  wire  aluOp_4 = d_io_xori | d_io_xor; // @[Decode.scala 190:32]
+  wire  aluOp_8 = d_io_srli | d_io_srl; // @[Decode.scala 194:32]
+  wire  aluOp_7 = d_io_slli | d_io_sll; // @[Decode.scala 193:32]
+  wire  aluOp_6 = d_io_andi | d_io_and; // @[Decode.scala 192:32]
+  wire [8:0] io_alu_op_lo = {aluOp_8,aluOp_7,aluOp_6,aluOp_5,aluOp_4,aluOp_3,aluOp_2,aluOp_1,aluOp_0}; // @[Decode.scala 184:22]
+  wire  aluOp_10 = d_io_lui; // @[Decode.scala 180:19 196:19]
+  wire  aluOp_9 = d_io_srai | d_io_sra; // @[Decode.scala 195:32]
+  wire  aluOp_12 = d_io_ctz; // @[Decode.scala 180:19 198:19]
+  wire  aluOp_11 = d_io_clz; // @[Decode.scala 180:19 197:19]
+  wire  aluOp_14 = d_io_min; // @[Decode.scala 180:19 200:19]
+  wire  aluOp_13 = d_io_pcnt; // @[Decode.scala 180:19 199:19]
+  wire  aluOp_17 = d_io_maxu; // @[Decode.scala 180:19 203:19]
+  wire  aluOp_16 = d_io_max; // @[Decode.scala 180:19 202:19]
+  wire  aluOp_15 = d_io_minu; // @[Decode.scala 180:19 201:19]
+  wire [8:0] io_alu_op_hi = {aluOp_17,aluOp_16,aluOp_15,aluOp_14,aluOp_13,aluOp_12,aluOp_11,aluOp_10,aluOp_9}; // @[Decode.scala 184:22]
   wire  bruValid_value__8 = io_bru_op[16]; // @[Library.scala 182:26]
   wire  bruValid_value__0 = io_bru_op[0] | io_bru_op[1]; // @[Library.scala 194:39]
   wire  bruValid_value__1 = io_bru_op[2] | io_bru_op[3]; // @[Library.scala 194:39]
@@ -13455,18 +13291,18 @@
   wire  bruValid_value_2_1 = bruValid_value_1_2 | bruValid_value_1_3; // @[Library.scala 194:39]
   wire  bruValid_value_3_0 = bruValid_value_2_0 | bruValid_value_2_1; // @[Library.scala 194:39]
   wire  bruValid_value_4_0 = bruValid_value_3_0 | bruValid_value__8; // @[Library.scala 194:39]
-  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 210:19 220:19]
-  wire  bruOp_0 = d_io_jal; // @[Decode.scala 210:19 219:19]
-  wire  bruOp_3 = d_io_bne; // @[Decode.scala 210:19 222:19]
-  wire  bruOp_2 = d_io_beq; // @[Decode.scala 210:19 221:19]
-  wire  bruOp_5 = d_io_bge; // @[Decode.scala 210:19 224:19]
-  wire  bruOp_4 = d_io_blt; // @[Decode.scala 210:19 223:19]
-  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 210:19 226:19]
-  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 210:19 225:19]
-  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 214:22]
-  wire  bruOp_16 = d_io_undef; // @[Decode.scala 210:19 235:21]
-  wire [8:0] io_bru_op_hi = {bruOp_16,1'h0,1'h0,2'h0,4'h0}; // @[Decode.scala 214:22]
-  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 216:38]
+  wire  bruOp_1 = d_io_jalr; // @[Decode.scala 207:19 217:19]
+  wire  bruOp_0 = d_io_jal; // @[Decode.scala 207:19 216:19]
+  wire  bruOp_3 = d_io_bne; // @[Decode.scala 207:19 219:19]
+  wire  bruOp_2 = d_io_beq; // @[Decode.scala 207:19 218:19]
+  wire  bruOp_5 = d_io_bge; // @[Decode.scala 207:19 221:19]
+  wire  bruOp_4 = d_io_blt; // @[Decode.scala 207:19 220:19]
+  wire  bruOp_7 = d_io_bgeu; // @[Decode.scala 207:19 223:19]
+  wire  bruOp_6 = d_io_bltu; // @[Decode.scala 207:19 222:19]
+  wire [7:0] io_bru_op_lo = {bruOp_7,bruOp_6,bruOp_5,bruOp_4,bruOp_3,bruOp_2,bruOp_1,bruOp_0}; // @[Decode.scala 211:22]
+  wire  bruOp_16 = d_io_undef; // @[Decode.scala 207:19 232:21]
+  wire [8:0] io_bru_op_hi = {bruOp_16,1'h0,1'h0,2'h0,4'h0}; // @[Decode.scala 211:22]
+  wire [31:0] _io_bru_target_T_1 = io_inst_inst[2] ? d_io_immjal : d_io_immbr; // @[Decode.scala 213:38]
   wire  csrValid_value__1 = io_csr_op[2]; // @[Library.scala 182:26]
   wire  csrValid_value__0 = io_csr_op[0] | io_csr_op[1]; // @[Library.scala 194:39]
   wire  csrValid_value_1_0 = csrValid_value__0 | csrValid_value__1; // @[Library.scala 194:39]
@@ -13483,16 +13319,16 @@
   wire  lsuValid_value_2_0 = lsuValid_value_1_0 | lsuValid_value_1_1; // @[Library.scala 194:39]
   wire  lsuValid_value_2_1 = lsuValid_value_1_2 | lsuValid_value__6; // @[Library.scala 194:39]
   wire  lsuValid_value_3_0 = lsuValid_value_2_0 | lsuValid_value_2_1; // @[Library.scala 194:39]
-  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 252:19 261:18]
-  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 252:19 260:18]
-  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 252:19 259:18]
-  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 252:19 263:18]
-  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 252:19 262:18]
-  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 252:19 265:18]
-  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 252:19 264:18]
-  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 257:22]
-  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 252:19 266:18]
-  wire [6:0] io_lsu_op_hi = {vldst,1'h0,2'h0,2'h0,lsuOp_7}; // @[Decode.scala 257:22]
+  wire  lsuOp_2 = d_io_lw; // @[Decode.scala 249:19 258:18]
+  wire  lsuOp_1 = d_io_lh; // @[Decode.scala 249:19 257:18]
+  wire  lsuOp_0 = d_io_lb; // @[Decode.scala 249:19 256:18]
+  wire  lsuOp_4 = d_io_lhu; // @[Decode.scala 249:19 260:18]
+  wire  lsuOp_3 = d_io_lbu; // @[Decode.scala 249:19 259:18]
+  wire  lsuOp_6 = d_io_sh; // @[Decode.scala 249:19 262:18]
+  wire  lsuOp_5 = d_io_sb; // @[Decode.scala 249:19 261:18]
+  wire [6:0] io_lsu_op_lo = {lsuOp_6,lsuOp_5,lsuOp_4,lsuOp_3,lsuOp_2,lsuOp_1,lsuOp_0}; // @[Decode.scala 254:22]
+  wire  lsuOp_7 = d_io_sw; // @[Decode.scala 249:19 263:18]
+  wire [6:0] io_lsu_op_hi = {vldst,1'h0,2'h0,2'h0,lsuOp_7}; // @[Decode.scala 254:22]
   wire  mluValid_value__4 = io_mlu_op[8]; // @[Library.scala 182:26]
   wire  mluValid_value__0 = io_mlu_op[0] | io_mlu_op[1]; // @[Library.scala 194:39]
   wire  mluValid_value__1 = io_mlu_op[2] | io_mlu_op[3]; // @[Library.scala 194:39]
@@ -13502,56 +13338,53 @@
   wire  mluValid_value_1_1 = mluValid_value__2 | mluValid_value__3; // @[Library.scala 194:39]
   wire  mluValid_value_2_0 = mluValid_value_1_0 | mluValid_value_1_1; // @[Library.scala 194:39]
   wire  mluValid_value_3_0 = mluValid_value_2_0 | mluValid_value__4; // @[Library.scala 194:39]
-  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 276:19 283:22]
-  wire  mluOp_0 = d_io_mul; // @[Decode.scala 276:19 282:22]
-  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 276:19 285:22]
-  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 276:19 284:22]
-  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 280:22]
-  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 276:19 287:22]
-  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 276:19 286:22]
-  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 276:19 290:22]
-  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 276:19 289:22]
-  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 276:19 288:22]
-  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 280:22]
+  wire  mluOp_1 = d_io_mulh; // @[Decode.scala 273:19 280:22]
+  wire  mluOp_0 = d_io_mul; // @[Decode.scala 273:19 279:22]
+  wire  mluOp_3 = d_io_mulhu; // @[Decode.scala 273:19 282:22]
+  wire  mluOp_2 = d_io_mulhsu; // @[Decode.scala 273:19 281:22]
+  wire [3:0] io_mlu_op_lo = {mluOp_3,mluOp_2,mluOp_1,mluOp_0}; // @[Decode.scala 277:22]
+  wire  mluOp_5 = d_io_mulhsur; // @[Decode.scala 273:19 284:22]
+  wire  mluOp_4 = d_io_mulhr; // @[Decode.scala 273:19 283:22]
+  wire  mluOp_8 = d_io_dmulhr; // @[Decode.scala 273:19 287:22]
+  wire  mluOp_7 = d_io_dmulh; // @[Decode.scala 273:19 286:22]
+  wire  mluOp_6 = d_io_mulhur; // @[Decode.scala 273:19 285:22]
+  wire [4:0] io_mlu_op_hi = {mluOp_8,mluOp_7,mluOp_6,mluOp_5,mluOp_4}; // @[Decode.scala 277:22]
   wire  dvuValid_value__0 = io_dvu_op[0] | io_dvu_op[1]; // @[Library.scala 194:39]
   wire  dvuValid_value__1 = io_dvu_op[2] | io_dvu_op[3]; // @[Library.scala 194:39]
   wire  dvuValid_value_1_0 = dvuValid_value__0 | dvuValid_value__1; // @[Library.scala 194:39]
-  wire  dvuEn = ~dvuValid_value_1_0; // @[Decode.scala 305:34]
-  wire [13:0] io_fpu_op_hi = {fpuRs2,1'h0,2'h0,3'h0,7'h0}; // @[Decode.scala 313:22]
-  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 349:21 361:24]
-  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 349:21 362:27]
+  wire  dvuEn = ~dvuValid_value_1_0; // @[Decode.scala 302:34]
+  wire  vinstOp_0 = d_io_getvl; // @[Decode.scala 345:21 356:24]
+  wire  vinstOp_1 = d_io_getmaxvl; // @[Decode.scala 345:21 357:27]
   wire  vinstValid_value__0 = vinstOp_0 | vinstOp_1; // @[Library.scala 194:39]
-  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 349:21 357:22]
-  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 349:21 358:22]
+  wire  vinstOp_2 = d_io_vld; // @[Decode.scala 345:21 353:22]
+  wire  vinstOp_3 = d_io_vst; // @[Decode.scala 345:21 354:22]
   wire  vinstValid_value__1 = vinstOp_2 | vinstOp_3; // @[Library.scala 194:39]
-  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 349:21 359:23]
-  wire  vinstOp_5 = d_io_vfop; // @[Decode.scala 349:21 360:23]
-  wire  vinstValid_value__2 = vinstOp_4 | vinstOp_5; // @[Library.scala 194:39]
   wire  vinstValid_value_1_0 = vinstValid_value__0 | vinstValid_value__1; // @[Library.scala 194:39]
-  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstValid_value__2; // @[Library.scala 194:39]
-  wire [2:0] io_vinst_op_lo = {vinstOp_2,vinstOp_1,vinstOp_0}; // @[Decode.scala 355:26]
-  wire [2:0] io_vinst_op_hi = {vinstOp_5,vinstOp_4,vinstOp_3}; // @[Decode.scala 355:26]
-  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 368:45]
-  wire  _io_rs1Read_valid_T_3 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit; // @[Decode.scala 368:82]
-  wire  _io_rs1Read_valid_T_6 = _io_rs1Read_valid_T_3 | isMul; // @[Decode.scala 369:44]
-  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_6 | d_io_getvl | d_io_vld; // @[Decode.scala 370:79]
-  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 371:32]
-  wire  _io_rs2Read_valid_T_2 = _io_rs1Read_valid_T | isAlu2Bit | isStore; // @[Decode.scala 372:70]
-  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_2 | isMul | d_io_getvl | d_io_vld; // @[Decode.scala 373:77]
-  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 374:44]
-  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 389:45]
-  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 395:16]
-  wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | _rdMark_valid_T_4; // @[Decode.scala 394:68]
-  wire  _rdMark_valid_T_13 = _rdMark_valid_T_5 | d_io_getvl; // @[Decode.scala 396:55]
-  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 398:55]
-  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 397:47]
-  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 413:65]
-  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 412:8]
-  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 417:47]
-  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 420:30]
-  wire  _io_inst_ready_T_7 = ~io_serializeIn_jump; // @[Decode.scala 426:20]
-  wire  _io_inst_ready_T_8 = aluEn & bruEn & lsuEn & mulEn & dvuEn & fpuEn & vinstEn & _io_inst_ready_T_7; // @[Decode.scala 425:93]
-  wire  _io_inst_ready_T_14 = ~d_io_undef; // @[Decode.scala 427:43]
+  wire  vinstOp_4 = d_io_viop; // @[Decode.scala 345:21 355:23]
+  wire  vinstValid_value_2_0 = vinstValid_value_1_0 | vinstOp_4; // @[Library.scala 194:39]
+  wire [1:0] io_vinst_op_lo = {vinstOp_1,vinstOp_0}; // @[Decode.scala 351:26]
+  wire [2:0] io_vinst_op_hi = {vinstOp_4,vinstOp_3,vinstOp_2}; // @[Decode.scala 351:26]
+  wire  _io_rs1Read_valid_T = isCondBr | isAluReg; // @[Decode.scala 363:45]
+  wire  _io_rs1Read_valid_T_3 = isCondBr | isAluReg | isAluImm | isAlu1Bit | isAlu2Bit; // @[Decode.scala 363:82]
+  wire  _io_rs1Read_valid_T_6 = _io_rs1Read_valid_T_3 | isMul; // @[Decode.scala 364:44]
+  wire  _io_rs1Read_valid_T_13 = _io_rs1Read_valid_T_6 | d_io_getvl | d_io_vld; // @[Decode.scala 365:79]
+  wire  _io_rs1Read_valid_T_14 = _io_rs1Read_valid_T_13 | d_io_vst; // @[Decode.scala 366:32]
+  wire  _io_rs2Read_valid_T_2 = _io_rs1Read_valid_T | isAlu2Bit | isStore; // @[Decode.scala 367:70]
+  wire  _io_rs2Read_valid_T_8 = _io_rs2Read_valid_T_2 | isMul | d_io_getvl | d_io_vld; // @[Decode.scala 368:77]
+  wire  _io_rs2Read_valid_T_10 = _io_rs2Read_valid_T_8 | d_io_vst | d_io_viop; // @[Decode.scala 369:44]
+  wire  _io_rs2Set_value_T = d_io_auipc | d_io_lui; // @[Decode.scala 384:45]
+  wire  _rdMark_valid_T_4 = lsuValid_value_3_0 & isLoad; // @[Decode.scala 390:16]
+  wire  _rdMark_valid_T_5 = aluValid_value_4_0 | csrValid_value_1_0 | mluValid_value_3_0 | _rdMark_valid_T_4; // @[Decode.scala 389:68]
+  wire  _rdMark_valid_T_13 = _rdMark_valid_T_5 | d_io_getvl; // @[Decode.scala 391:55]
+  wire  _rdMark_valid_T_19 = bruValid_value_4_0 & (bruOp_0 | bruOp_1) & rdAddr != 5'h0; // @[Decode.scala 393:55]
+  wire  rdMark_valid = _rdMark_valid_T_13 | d_io_getmaxvl | vldst_wb | _rdMark_valid_T_19; // @[Decode.scala 392:47]
+  wire  _io_busRead_bypass_T_9 = io_inst_inst[11:7] == 5'h0; // @[Decode.scala 408:65]
+  wire  _io_busRead_bypass_T_10 = ~io_inst_inst[5] | io_inst_inst[6] ? rs2Addr == 5'h0 : _io_busRead_bypass_T_9; // @[Decode.scala 407:8]
+  wire  storeSelect = io_inst_inst[6:3] == 4'h4 & io_inst_inst[1:0] == 2'h3; // @[Decode.scala 412:47]
+  wire [4:0] _io_busRead_immed_T_3 = storeSelect ? d_io_immst[4:0] : d_io_imm12[4:0]; // @[Decode.scala 415:30]
+  wire  _io_inst_ready_T_7 = ~io_serializeIn_jump; // @[Decode.scala 421:20]
+  wire  _io_inst_ready_T_8 = aluEn & bruEn & lsuEn & mulEn & dvuEn & vinstEn & _io_inst_ready_T_7; // @[Decode.scala 420:93]
+  wire  _io_inst_ready_T_14 = ~d_io_undef; // @[Decode.scala 422:43]
   DecodedInstruction_3 d ( // @[Decode.scala 91:17]
     .clock(d_clock),
     .reset(d_reset),
@@ -13642,7 +13475,6 @@
     .io_fcvtsw(d_io_fcvtsw),
     .io_fcvtswu(d_io_fcvtswu),
     .io_fmvwx(d_io_fmvwx),
-    .io_clb(d_io_clb),
     .io_clz(d_io_clz),
     .io_ctz(d_io_ctz),
     .io_pcnt(d_io_pcnt),
@@ -13655,7 +13487,6 @@
     .io_vld(d_io_vld),
     .io_vst(d_io_vst),
     .io_viop(d_io_viop),
-    .io_vfop(d_io_vfop),
     .io_ebreak(d_io_ebreak),
     .io_ecall(d_io_ecall),
     .io_eexit(d_io_eexit),
@@ -13669,42 +13500,40 @@
     .io_flushall(d_io_flushall),
     .io_slog(d_io_slog)
   );
-  assign io_inst_ready = _io_inst_ready_T_8 & ~io_halted & ~io_interlock & _io_inst_ready_T_14; // @[Decode.scala 426:72]
-  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 368:32]
-  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 377:25]
-  assign io_rs1Set_valid = decodeEn & d_io_auipc; // @[Decode.scala 383:31]
-  assign io_rs1Set_value = io_inst_addr; // @[Decode.scala 386:25]
-  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 372:32]
+  assign io_inst_ready = _io_inst_ready_T_8 & ~io_halted & ~io_interlock & _io_inst_ready_T_14; // @[Decode.scala 421:72]
+  assign io_rs1Read_valid = decodeEn & _io_rs1Read_valid_T_14; // @[Decode.scala 363:32]
+  assign io_rs1Read_addr = io_inst_inst[0] ? io_inst_inst[19:15] : rs3Addr; // @[Decode.scala 372:25]
+  assign io_rs1Set_valid = decodeEn & d_io_auipc; // @[Decode.scala 378:31]
+  assign io_rs1Set_value = io_inst_addr; // @[Decode.scala 381:25]
+  assign io_rs2Read_valid = decodeEn & _io_rs2Read_valid_T_10; // @[Decode.scala 367:32]
   assign io_rs2Read_addr = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 384:38]
+  assign io_rs2Set_valid = io_rs1Set_valid | decodeEn & (isAluImm | isAlu1Bit | d_io_lui); // @[Decode.scala 379:38]
   assign io_rs2Set_value = _io_rs2Set_value_T ? d_io_imm20 : d_io_imm12; // @[Mux.scala 101:16]
-  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 404:31]
+  assign io_rdMark_valid = decodeEn & rdMark_valid; // @[Decode.scala 399:31]
   assign io_rdMark_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 411:52]
+  assign io_busRead_bypass = io_inst_inst[31:25] == 7'h0 & _io_busRead_bypass_T_10; // @[Decode.scala 406:52]
   assign io_busRead_immed = {d_io_imm12[31:5],_io_busRead_immed_T_3}; // @[Cat.scala 31:58]
-  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 184:28]
+  assign io_alu_valid = decodeEn & aluValid_value_4_0; // @[Decode.scala 182:28]
   assign io_alu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 186:22]
-  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 212:28]
-  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 213:14]
-  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 214:22]
-  assign io_bru_pc = io_inst_addr; // @[Decode.scala 215:13]
-  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 216:33]
+  assign io_alu_op = {io_alu_op_hi,io_alu_op_lo}; // @[Decode.scala 184:22]
+  assign io_bru_valid = decodeEn & bruValid_value_4_0; // @[Decode.scala 209:28]
+  assign io_bru_fwd = io_inst_brchFwd; // @[Decode.scala 210:14]
+  assign io_bru_op = {io_bru_op_hi,io_bru_op_lo}; // @[Decode.scala 211:22]
+  assign io_bru_pc = io_inst_addr; // @[Decode.scala 212:13]
+  assign io_bru_target = io_inst_addr + _io_bru_target_T_1; // @[Decode.scala 213:33]
   assign io_bru_link = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_csr_op = 3'h0; // @[Decode.scala 244:22]
-  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 254:28]
+  assign io_csr_op = 3'h0; // @[Decode.scala 241:22]
+  assign io_lsu_valid = decodeEn & lsuValid_value_3_0; // @[Decode.scala 251:28]
   assign io_lsu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 257:22]
-  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 278:28]
+  assign io_lsu_op = {io_lsu_op_hi,io_lsu_op_lo}; // @[Decode.scala 254:22]
+  assign io_mlu_valid = decodeEn & mluValid_value_3_0; // @[Decode.scala 275:28]
   assign io_mlu_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 280:22]
-  assign io_dvu_op = 4'h0; // @[Decode.scala 298:22]
-  assign io_fpu_raddr_1 = io_inst_inst[24:20]; // @[Decode.scala 100:29]
-  assign io_fpu_op = {io_fpu_op_hi,13'h0}; // @[Decode.scala 313:22]
-  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 352:30]
+  assign io_mlu_op = {io_mlu_op_hi,io_mlu_op_lo}; // @[Decode.scala 277:22]
+  assign io_dvu_op = 4'h0; // @[Decode.scala 295:22]
+  assign io_vinst_valid = decodeEn & vinstValid_value_2_0; // @[Decode.scala 348:30]
   assign io_vinst_addr = vldst ? io_inst_inst[19:15] : io_inst_inst[11:7]; // @[Decode.scala 98:20]
-  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 354:17]
-  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 355:26]
+  assign io_vinst_inst = io_inst_inst; // @[Decode.scala 350:17]
+  assign io_vinst_op = {io_vinst_op_hi,io_vinst_op_lo}; // @[Decode.scala 351:26]
   assign d_clock = clock;
   assign d_reset = reset;
   assign d_io_addr = io_inst_addr; // @[Decode.scala 92:13]
@@ -13715,7 +13544,7 @@
   input         reset,
   input         io_req_valid,
   input  [4:0]  io_req_addr,
-  input  [18:0] io_req_op,
+  input  [17:0] io_req_op,
   input         io_rs1_valid,
   input  [31:0] io_rs1_data,
   input         io_rs2_valid,
@@ -13729,272 +13558,209 @@
   reg [31:0] _RAND_1;
   reg [31:0] _RAND_2;
 `endif // RANDOMIZE_REG_INIT
-  reg  valid; // @[Alu.scala 55:22]
-  reg [4:0] addr; // @[Alu.scala 56:17]
-  reg [18:0] op; // @[Alu.scala 57:19]
-  wire [4:0] shamt = io_rs2_data[4:0]; // @[Alu.scala 73:18]
-  wire [31:0] _io_rd_data_T_2 = io_rs1_data + io_rs2_data; // @[Alu.scala 96:42]
+  reg  valid; // @[Alu.scala 54:22]
+  reg [4:0] addr; // @[Alu.scala 55:17]
+  reg [17:0] op; // @[Alu.scala 56:19]
+  wire [4:0] shamt = io_rs2_data[4:0]; // @[Alu.scala 72:18]
+  wire [31:0] _io_rd_data_T_2 = io_rs1_data + io_rs2_data; // @[Alu.scala 95:42]
   wire [31:0] _io_rd_data_T_3 = op[0] ? _io_rd_data_T_2 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _io_rd_data_T_6 = io_rs1_data - io_rs2_data; // @[Alu.scala 97:42]
+  wire [31:0] _io_rd_data_T_6 = io_rs1_data - io_rs2_data; // @[Alu.scala 96:42]
   wire [31:0] _io_rd_data_T_7 = op[1] ? _io_rd_data_T_6 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _io_rd_data_T_8 = _io_rd_data_T_3 | _io_rd_data_T_7; // @[Alu.scala 96:49]
-  wire  _io_rd_data_T_12 = $signed(io_rs1_data) < $signed(io_rs2_data); // @[Alu.scala 98:49]
+  wire [31:0] _io_rd_data_T_8 = _io_rd_data_T_3 | _io_rd_data_T_7; // @[Alu.scala 95:49]
+  wire  _io_rd_data_T_12 = $signed(io_rs1_data) < $signed(io_rs2_data); // @[Alu.scala 97:49]
   wire  _io_rd_data_T_13 = op[2] & _io_rd_data_T_12; // @[Library.scala 12:8]
-  wire [31:0] _GEN_2 = {{31'd0}, _io_rd_data_T_13}; // @[Alu.scala 97:49]
-  wire [31:0] _io_rd_data_T_14 = _io_rd_data_T_8 | _GEN_2; // @[Alu.scala 97:49]
-  wire  _io_rd_data_T_16 = io_rs1_data < io_rs2_data; // @[Alu.scala 99:42]
+  wire [31:0] _GEN_2 = {{31'd0}, _io_rd_data_T_13}; // @[Alu.scala 96:49]
+  wire [31:0] _io_rd_data_T_14 = _io_rd_data_T_8 | _GEN_2; // @[Alu.scala 96:49]
+  wire  _io_rd_data_T_16 = io_rs1_data < io_rs2_data; // @[Alu.scala 98:42]
   wire  _io_rd_data_T_17 = op[3] & _io_rd_data_T_16; // @[Library.scala 12:8]
-  wire [31:0] _GEN_3 = {{31'd0}, _io_rd_data_T_17}; // @[Alu.scala 98:63]
-  wire [31:0] _io_rd_data_T_18 = _io_rd_data_T_14 | _GEN_3; // @[Alu.scala 98:63]
-  wire [31:0] _io_rd_data_T_20 = io_rs1_data ^ io_rs2_data; // @[Alu.scala 100:42]
+  wire [31:0] _GEN_3 = {{31'd0}, _io_rd_data_T_17}; // @[Alu.scala 97:63]
+  wire [31:0] _io_rd_data_T_18 = _io_rd_data_T_14 | _GEN_3; // @[Alu.scala 97:63]
+  wire [31:0] _io_rd_data_T_20 = io_rs1_data ^ io_rs2_data; // @[Alu.scala 99:42]
   wire [31:0] _io_rd_data_T_21 = op[4] ? _io_rd_data_T_20 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _io_rd_data_T_22 = _io_rd_data_T_18 | _io_rd_data_T_21; // @[Alu.scala 99:49]
-  wire [31:0] _io_rd_data_T_24 = io_rs1_data | io_rs2_data; // @[Alu.scala 101:42]
+  wire [31:0] _io_rd_data_T_22 = _io_rd_data_T_18 | _io_rd_data_T_21; // @[Alu.scala 98:49]
+  wire [31:0] _io_rd_data_T_24 = io_rs1_data | io_rs2_data; // @[Alu.scala 100:42]
   wire [31:0] _io_rd_data_T_25 = op[5] ? _io_rd_data_T_24 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _io_rd_data_T_26 = _io_rd_data_T_22 | _io_rd_data_T_25; // @[Alu.scala 100:49]
-  wire [31:0] _io_rd_data_T_28 = io_rs1_data & io_rs2_data; // @[Alu.scala 102:42]
+  wire [31:0] _io_rd_data_T_26 = _io_rd_data_T_22 | _io_rd_data_T_25; // @[Alu.scala 99:49]
+  wire [31:0] _io_rd_data_T_28 = io_rs1_data & io_rs2_data; // @[Alu.scala 101:42]
   wire [31:0] _io_rd_data_T_29 = op[6] ? _io_rd_data_T_28 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _io_rd_data_T_30 = _io_rd_data_T_26 | _io_rd_data_T_29; // @[Alu.scala 101:49]
-  wire [62:0] _GEN_0 = {{31'd0}, io_rs1_data}; // @[Alu.scala 103:42]
-  wire [62:0] _io_rd_data_T_32 = _GEN_0 << shamt; // @[Alu.scala 103:42]
+  wire [31:0] _io_rd_data_T_30 = _io_rd_data_T_26 | _io_rd_data_T_29; // @[Alu.scala 100:49]
+  wire [62:0] _GEN_0 = {{31'd0}, io_rs1_data}; // @[Alu.scala 102:42]
+  wire [62:0] _io_rd_data_T_32 = _GEN_0 << shamt; // @[Alu.scala 102:42]
   wire [62:0] _io_rd_data_T_33 = op[7] ? _io_rd_data_T_32 : 63'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_4 = {{31'd0}, _io_rd_data_T_30}; // @[Alu.scala 102:49]
-  wire [62:0] _io_rd_data_T_34 = _GEN_4 | _io_rd_data_T_33; // @[Alu.scala 102:49]
-  wire [31:0] _io_rd_data_T_36 = io_rs1_data >> shamt; // @[Alu.scala 104:42]
+  wire [62:0] _GEN_4 = {{31'd0}, _io_rd_data_T_30}; // @[Alu.scala 101:49]
+  wire [62:0] _io_rd_data_T_34 = _GEN_4 | _io_rd_data_T_33; // @[Alu.scala 101:49]
+  wire [31:0] _io_rd_data_T_36 = io_rs1_data >> shamt; // @[Alu.scala 103:42]
   wire [31:0] _io_rd_data_T_37 = op[8] ? _io_rd_data_T_36 : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_5 = {{31'd0}, _io_rd_data_T_37}; // @[Alu.scala 103:52]
-  wire [62:0] _io_rd_data_T_38 = _io_rd_data_T_34 | _GEN_5; // @[Alu.scala 103:52]
-  wire [31:0] _io_rd_data_T_42 = $signed(io_rs1_data) >>> shamt; // @[Alu.scala 105:60]
+  wire [62:0] _GEN_5 = {{31'd0}, _io_rd_data_T_37}; // @[Alu.scala 102:52]
+  wire [62:0] _io_rd_data_T_38 = _io_rd_data_T_34 | _GEN_5; // @[Alu.scala 102:52]
+  wire [31:0] _io_rd_data_T_42 = $signed(io_rs1_data) >>> shamt; // @[Alu.scala 104:60]
   wire [31:0] _io_rd_data_T_43 = op[9] ? _io_rd_data_T_42 : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_6 = {{31'd0}, _io_rd_data_T_43}; // @[Alu.scala 104:52]
-  wire [62:0] _io_rd_data_T_44 = _io_rd_data_T_38 | _GEN_6; // @[Alu.scala 104:52]
+  wire [62:0] _GEN_6 = {{31'd0}, _io_rd_data_T_43}; // @[Alu.scala 103:52]
+  wire [62:0] _io_rd_data_T_44 = _io_rd_data_T_38 | _GEN_6; // @[Alu.scala 103:52]
   wire [31:0] _io_rd_data_T_46 = op[10] ? io_rs2_data : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_7 = {{31'd0}, _io_rd_data_T_46}; // @[Alu.scala 105:68]
-  wire [62:0] _io_rd_data_T_47 = _io_rd_data_T_44 | _GEN_7; // @[Alu.scala 105:68]
-  wire [31:0] _io_rd_data_clo_T = ~io_rs1_data; // @[Library.scala 280:43]
-  wire [31:0] _GEN_8 = {{16'd0}, _io_rd_data_clo_T[31:16]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_4 = _GEN_8 & 32'hffff; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_6 = {_io_rd_data_clo_T[15:0], 16'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clo_T_8 = _io_rd_data_clo_T_6 & 32'hffff0000; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clo_T_9 = _io_rd_data_clo_T_4 | _io_rd_data_clo_T_8; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_9 = {{8'd0}, _io_rd_data_clo_T_9[31:8]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_14 = _GEN_9 & 32'hff00ff; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_16 = {_io_rd_data_clo_T_9[23:0], 8'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clo_T_18 = _io_rd_data_clo_T_16 & 32'hff00ff00; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clo_T_19 = _io_rd_data_clo_T_14 | _io_rd_data_clo_T_18; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_10 = {{4'd0}, _io_rd_data_clo_T_19[31:4]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_24 = _GEN_10 & 32'hf0f0f0f; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_26 = {_io_rd_data_clo_T_19[27:0], 4'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clo_T_28 = _io_rd_data_clo_T_26 & 32'hf0f0f0f0; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clo_T_29 = _io_rd_data_clo_T_24 | _io_rd_data_clo_T_28; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_11 = {{2'd0}, _io_rd_data_clo_T_29[31:2]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_34 = _GEN_11 & 32'h33333333; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_36 = {_io_rd_data_clo_T_29[29:0], 2'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clo_T_38 = _io_rd_data_clo_T_36 & 32'hcccccccc; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clo_T_39 = _io_rd_data_clo_T_34 | _io_rd_data_clo_T_38; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_12 = {{1'd0}, _io_rd_data_clo_T_39[31:1]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_44 = _GEN_12 & 32'h55555555; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clo_T_46 = {_io_rd_data_clo_T_39[30:0], 1'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clo_T_48 = _io_rd_data_clo_T_46 & 32'haaaaaaaa; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clo_T_49 = _io_rd_data_clo_T_44 | _io_rd_data_clo_T_48; // @[Bitwise.scala 105:39]
-  wire [32:0] _io_rd_data_clo_T_50 = {1'h1,_io_rd_data_clo_T_49}; // @[Cat.scala 31:58]
-  wire [5:0] _io_rd_data_clo_T_84 = _io_rd_data_clo_T_50[31] ? 6'h1f : 6'h20; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_85 = _io_rd_data_clo_T_50[30] ? 6'h1e : _io_rd_data_clo_T_84; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_86 = _io_rd_data_clo_T_50[29] ? 6'h1d : _io_rd_data_clo_T_85; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_87 = _io_rd_data_clo_T_50[28] ? 6'h1c : _io_rd_data_clo_T_86; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_88 = _io_rd_data_clo_T_50[27] ? 6'h1b : _io_rd_data_clo_T_87; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_89 = _io_rd_data_clo_T_50[26] ? 6'h1a : _io_rd_data_clo_T_88; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_90 = _io_rd_data_clo_T_50[25] ? 6'h19 : _io_rd_data_clo_T_89; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_91 = _io_rd_data_clo_T_50[24] ? 6'h18 : _io_rd_data_clo_T_90; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_92 = _io_rd_data_clo_T_50[23] ? 6'h17 : _io_rd_data_clo_T_91; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_93 = _io_rd_data_clo_T_50[22] ? 6'h16 : _io_rd_data_clo_T_92; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_94 = _io_rd_data_clo_T_50[21] ? 6'h15 : _io_rd_data_clo_T_93; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_95 = _io_rd_data_clo_T_50[20] ? 6'h14 : _io_rd_data_clo_T_94; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_96 = _io_rd_data_clo_T_50[19] ? 6'h13 : _io_rd_data_clo_T_95; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_97 = _io_rd_data_clo_T_50[18] ? 6'h12 : _io_rd_data_clo_T_96; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_98 = _io_rd_data_clo_T_50[17] ? 6'h11 : _io_rd_data_clo_T_97; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_99 = _io_rd_data_clo_T_50[16] ? 6'h10 : _io_rd_data_clo_T_98; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_100 = _io_rd_data_clo_T_50[15] ? 6'hf : _io_rd_data_clo_T_99; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_101 = _io_rd_data_clo_T_50[14] ? 6'he : _io_rd_data_clo_T_100; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_102 = _io_rd_data_clo_T_50[13] ? 6'hd : _io_rd_data_clo_T_101; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_103 = _io_rd_data_clo_T_50[12] ? 6'hc : _io_rd_data_clo_T_102; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_104 = _io_rd_data_clo_T_50[11] ? 6'hb : _io_rd_data_clo_T_103; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_105 = _io_rd_data_clo_T_50[10] ? 6'ha : _io_rd_data_clo_T_104; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_106 = _io_rd_data_clo_T_50[9] ? 6'h9 : _io_rd_data_clo_T_105; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_107 = _io_rd_data_clo_T_50[8] ? 6'h8 : _io_rd_data_clo_T_106; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_108 = _io_rd_data_clo_T_50[7] ? 6'h7 : _io_rd_data_clo_T_107; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_109 = _io_rd_data_clo_T_50[6] ? 6'h6 : _io_rd_data_clo_T_108; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_110 = _io_rd_data_clo_T_50[5] ? 6'h5 : _io_rd_data_clo_T_109; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_111 = _io_rd_data_clo_T_50[4] ? 6'h4 : _io_rd_data_clo_T_110; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_112 = _io_rd_data_clo_T_50[3] ? 6'h3 : _io_rd_data_clo_T_111; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_113 = _io_rd_data_clo_T_50[2] ? 6'h2 : _io_rd_data_clo_T_112; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clo_T_114 = _io_rd_data_clo_T_50[1] ? 6'h1 : _io_rd_data_clo_T_113; // @[Mux.scala 47:70]
-  wire [5:0] io_rd_data_clo = _io_rd_data_clo_T_50[0] ? 6'h0 : _io_rd_data_clo_T_114; // @[Mux.scala 47:70]
-  wire [31:0] _GEN_13 = {{16'd0}, io_rs1_data[31:16]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_3 = _GEN_13 & 32'hffff; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_5 = {io_rs1_data[15:0], 16'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clz_T_7 = _io_rd_data_clz_T_5 & 32'hffff0000; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clz_T_8 = _io_rd_data_clz_T_3 | _io_rd_data_clz_T_7; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_14 = {{8'd0}, _io_rd_data_clz_T_8[31:8]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_13 = _GEN_14 & 32'hff00ff; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_15 = {_io_rd_data_clz_T_8[23:0], 8'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clz_T_17 = _io_rd_data_clz_T_15 & 32'hff00ff00; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clz_T_18 = _io_rd_data_clz_T_13 | _io_rd_data_clz_T_17; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_15 = {{4'd0}, _io_rd_data_clz_T_18[31:4]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_23 = _GEN_15 & 32'hf0f0f0f; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_25 = {_io_rd_data_clz_T_18[27:0], 4'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clz_T_27 = _io_rd_data_clz_T_25 & 32'hf0f0f0f0; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clz_T_28 = _io_rd_data_clz_T_23 | _io_rd_data_clz_T_27; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_16 = {{2'd0}, _io_rd_data_clz_T_28[31:2]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_33 = _GEN_16 & 32'h33333333; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_35 = {_io_rd_data_clz_T_28[29:0], 2'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clz_T_37 = _io_rd_data_clz_T_35 & 32'hcccccccc; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clz_T_38 = _io_rd_data_clz_T_33 | _io_rd_data_clz_T_37; // @[Bitwise.scala 105:39]
-  wire [31:0] _GEN_17 = {{1'd0}, _io_rd_data_clz_T_38[31:1]}; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_43 = _GEN_17 & 32'h55555555; // @[Bitwise.scala 105:31]
-  wire [31:0] _io_rd_data_clz_T_45 = {_io_rd_data_clz_T_38[30:0], 1'h0}; // @[Bitwise.scala 105:70]
-  wire [31:0] _io_rd_data_clz_T_47 = _io_rd_data_clz_T_45 & 32'haaaaaaaa; // @[Bitwise.scala 105:80]
-  wire [31:0] _io_rd_data_clz_T_48 = _io_rd_data_clz_T_43 | _io_rd_data_clz_T_47; // @[Bitwise.scala 105:39]
-  wire [32:0] _io_rd_data_clz_T_49 = {1'h1,_io_rd_data_clz_T_48}; // @[Cat.scala 31:58]
-  wire [5:0] _io_rd_data_clz_T_83 = _io_rd_data_clz_T_49[31] ? 6'h1f : 6'h20; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_84 = _io_rd_data_clz_T_49[30] ? 6'h1e : _io_rd_data_clz_T_83; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_85 = _io_rd_data_clz_T_49[29] ? 6'h1d : _io_rd_data_clz_T_84; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_86 = _io_rd_data_clz_T_49[28] ? 6'h1c : _io_rd_data_clz_T_85; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_87 = _io_rd_data_clz_T_49[27] ? 6'h1b : _io_rd_data_clz_T_86; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_88 = _io_rd_data_clz_T_49[26] ? 6'h1a : _io_rd_data_clz_T_87; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_89 = _io_rd_data_clz_T_49[25] ? 6'h19 : _io_rd_data_clz_T_88; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_90 = _io_rd_data_clz_T_49[24] ? 6'h18 : _io_rd_data_clz_T_89; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_91 = _io_rd_data_clz_T_49[23] ? 6'h17 : _io_rd_data_clz_T_90; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_92 = _io_rd_data_clz_T_49[22] ? 6'h16 : _io_rd_data_clz_T_91; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_93 = _io_rd_data_clz_T_49[21] ? 6'h15 : _io_rd_data_clz_T_92; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_94 = _io_rd_data_clz_T_49[20] ? 6'h14 : _io_rd_data_clz_T_93; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_95 = _io_rd_data_clz_T_49[19] ? 6'h13 : _io_rd_data_clz_T_94; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_96 = _io_rd_data_clz_T_49[18] ? 6'h12 : _io_rd_data_clz_T_95; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_97 = _io_rd_data_clz_T_49[17] ? 6'h11 : _io_rd_data_clz_T_96; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_98 = _io_rd_data_clz_T_49[16] ? 6'h10 : _io_rd_data_clz_T_97; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_99 = _io_rd_data_clz_T_49[15] ? 6'hf : _io_rd_data_clz_T_98; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_100 = _io_rd_data_clz_T_49[14] ? 6'he : _io_rd_data_clz_T_99; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_101 = _io_rd_data_clz_T_49[13] ? 6'hd : _io_rd_data_clz_T_100; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_102 = _io_rd_data_clz_T_49[12] ? 6'hc : _io_rd_data_clz_T_101; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_103 = _io_rd_data_clz_T_49[11] ? 6'hb : _io_rd_data_clz_T_102; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_104 = _io_rd_data_clz_T_49[10] ? 6'ha : _io_rd_data_clz_T_103; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_105 = _io_rd_data_clz_T_49[9] ? 6'h9 : _io_rd_data_clz_T_104; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_106 = _io_rd_data_clz_T_49[8] ? 6'h8 : _io_rd_data_clz_T_105; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_107 = _io_rd_data_clz_T_49[7] ? 6'h7 : _io_rd_data_clz_T_106; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_108 = _io_rd_data_clz_T_49[6] ? 6'h6 : _io_rd_data_clz_T_107; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_109 = _io_rd_data_clz_T_49[5] ? 6'h5 : _io_rd_data_clz_T_108; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_110 = _io_rd_data_clz_T_49[4] ? 6'h4 : _io_rd_data_clz_T_109; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_111 = _io_rd_data_clz_T_49[3] ? 6'h3 : _io_rd_data_clz_T_110; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_112 = _io_rd_data_clz_T_49[2] ? 6'h2 : _io_rd_data_clz_T_111; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_clz_T_113 = _io_rd_data_clz_T_49[1] ? 6'h1 : _io_rd_data_clz_T_112; // @[Mux.scala 47:70]
-  wire [5:0] io_rd_data_clz = _io_rd_data_clz_T_49[0] ? 6'h0 : _io_rd_data_clz_T_113; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_50 = io_rs1_data[31] ? io_rd_data_clo : io_rd_data_clz; // @[Library.scala 274:8]
-  wire [5:0] _io_rd_data_T_51 = op[11] ? _io_rd_data_T_50 : 6'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_18 = {{57'd0}, _io_rd_data_T_51}; // @[Alu.scala 106:43]
-  wire [62:0] _io_rd_data_T_52 = _io_rd_data_T_47 | _GEN_18; // @[Alu.scala 106:43]
-  wire [5:0] _io_rd_data_T_169 = op[12] ? io_rd_data_clz : 6'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_24 = {{57'd0}, _io_rd_data_T_169}; // @[Alu.scala 107:48]
-  wire [62:0] _io_rd_data_T_170 = _io_rd_data_T_52 | _GEN_24; // @[Alu.scala 107:48]
-  wire [32:0] _io_rd_data_T_172 = {1'h1,io_rs1_data}; // @[Cat.scala 31:58]
-  wire [5:0] _io_rd_data_T_206 = _io_rd_data_T_172[31] ? 6'h1f : 6'h20; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_207 = _io_rd_data_T_172[30] ? 6'h1e : _io_rd_data_T_206; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_208 = _io_rd_data_T_172[29] ? 6'h1d : _io_rd_data_T_207; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_209 = _io_rd_data_T_172[28] ? 6'h1c : _io_rd_data_T_208; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_210 = _io_rd_data_T_172[27] ? 6'h1b : _io_rd_data_T_209; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_211 = _io_rd_data_T_172[26] ? 6'h1a : _io_rd_data_T_210; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_212 = _io_rd_data_T_172[25] ? 6'h19 : _io_rd_data_T_211; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_213 = _io_rd_data_T_172[24] ? 6'h18 : _io_rd_data_T_212; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_214 = _io_rd_data_T_172[23] ? 6'h17 : _io_rd_data_T_213; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_215 = _io_rd_data_T_172[22] ? 6'h16 : _io_rd_data_T_214; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_216 = _io_rd_data_T_172[21] ? 6'h15 : _io_rd_data_T_215; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_217 = _io_rd_data_T_172[20] ? 6'h14 : _io_rd_data_T_216; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_218 = _io_rd_data_T_172[19] ? 6'h13 : _io_rd_data_T_217; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_219 = _io_rd_data_T_172[18] ? 6'h12 : _io_rd_data_T_218; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_220 = _io_rd_data_T_172[17] ? 6'h11 : _io_rd_data_T_219; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_221 = _io_rd_data_T_172[16] ? 6'h10 : _io_rd_data_T_220; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_222 = _io_rd_data_T_172[15] ? 6'hf : _io_rd_data_T_221; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_223 = _io_rd_data_T_172[14] ? 6'he : _io_rd_data_T_222; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_224 = _io_rd_data_T_172[13] ? 6'hd : _io_rd_data_T_223; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_225 = _io_rd_data_T_172[12] ? 6'hc : _io_rd_data_T_224; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_226 = _io_rd_data_T_172[11] ? 6'hb : _io_rd_data_T_225; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_227 = _io_rd_data_T_172[10] ? 6'ha : _io_rd_data_T_226; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_228 = _io_rd_data_T_172[9] ? 6'h9 : _io_rd_data_T_227; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_229 = _io_rd_data_T_172[8] ? 6'h8 : _io_rd_data_T_228; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_230 = _io_rd_data_T_172[7] ? 6'h7 : _io_rd_data_T_229; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_231 = _io_rd_data_T_172[6] ? 6'h6 : _io_rd_data_T_230; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_232 = _io_rd_data_T_172[5] ? 6'h5 : _io_rd_data_T_231; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_233 = _io_rd_data_T_172[4] ? 6'h4 : _io_rd_data_T_232; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_234 = _io_rd_data_T_172[3] ? 6'h3 : _io_rd_data_T_233; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_235 = _io_rd_data_T_172[2] ? 6'h2 : _io_rd_data_T_234; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_236 = _io_rd_data_T_172[1] ? 6'h1 : _io_rd_data_T_235; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_237 = _io_rd_data_T_172[0] ? 6'h0 : _io_rd_data_T_236; // @[Mux.scala 47:70]
-  wire [5:0] _io_rd_data_T_238 = op[13] ? _io_rd_data_T_237 : 6'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_25 = {{57'd0}, _io_rd_data_T_238}; // @[Alu.scala 108:48]
-  wire [62:0] _io_rd_data_T_239 = _io_rd_data_T_170 | _GEN_25; // @[Alu.scala 108:48]
-  wire [1:0] _io_rd_data_T_273 = io_rs1_data[0] + io_rs1_data[1]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_275 = io_rs1_data[2] + io_rs1_data[3]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_277 = _io_rd_data_T_273 + _io_rd_data_T_275; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_279 = io_rs1_data[4] + io_rs1_data[5]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_281 = io_rs1_data[6] + io_rs1_data[7]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_283 = _io_rd_data_T_279 + _io_rd_data_T_281; // @[Bitwise.scala 48:55]
-  wire [3:0] _io_rd_data_T_285 = _io_rd_data_T_277 + _io_rd_data_T_283; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_287 = io_rs1_data[8] + io_rs1_data[9]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_289 = io_rs1_data[10] + io_rs1_data[11]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_291 = _io_rd_data_T_287 + _io_rd_data_T_289; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_293 = io_rs1_data[12] + io_rs1_data[13]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_295 = io_rs1_data[14] + io_rs1_data[15]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_297 = _io_rd_data_T_293 + _io_rd_data_T_295; // @[Bitwise.scala 48:55]
-  wire [3:0] _io_rd_data_T_299 = _io_rd_data_T_291 + _io_rd_data_T_297; // @[Bitwise.scala 48:55]
-  wire [4:0] _io_rd_data_T_301 = _io_rd_data_T_285 + _io_rd_data_T_299; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_303 = io_rs1_data[16] + io_rs1_data[17]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_305 = io_rs1_data[18] + io_rs1_data[19]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_307 = _io_rd_data_T_303 + _io_rd_data_T_305; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_309 = io_rs1_data[20] + io_rs1_data[21]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_311 = io_rs1_data[22] + io_rs1_data[23]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_313 = _io_rd_data_T_309 + _io_rd_data_T_311; // @[Bitwise.scala 48:55]
-  wire [3:0] _io_rd_data_T_315 = _io_rd_data_T_307 + _io_rd_data_T_313; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_317 = io_rs1_data[24] + io_rs1_data[25]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_319 = io_rs1_data[26] + io_rs1_data[27]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_321 = _io_rd_data_T_317 + _io_rd_data_T_319; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_323 = io_rs1_data[28] + io_rs1_data[29]; // @[Bitwise.scala 48:55]
-  wire [1:0] _io_rd_data_T_325 = io_rs1_data[30] + io_rs1_data[31]; // @[Bitwise.scala 48:55]
-  wire [2:0] _io_rd_data_T_327 = _io_rd_data_T_323 + _io_rd_data_T_325; // @[Bitwise.scala 48:55]
-  wire [3:0] _io_rd_data_T_329 = _io_rd_data_T_321 + _io_rd_data_T_327; // @[Bitwise.scala 48:55]
-  wire [4:0] _io_rd_data_T_331 = _io_rd_data_T_315 + _io_rd_data_T_329; // @[Bitwise.scala 48:55]
-  wire [5:0] _io_rd_data_T_333 = _io_rd_data_T_301 + _io_rd_data_T_331; // @[Bitwise.scala 48:55]
-  wire [5:0] _io_rd_data_T_335 = op[14] ? _io_rd_data_T_333 : 6'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_26 = {{57'd0}, _io_rd_data_T_335}; // @[Alu.scala 109:48]
-  wire [62:0] _io_rd_data_T_336 = _io_rd_data_T_239 | _GEN_26; // @[Alu.scala 109:48]
-  wire [31:0] _io_rd_data_T_341 = _io_rd_data_T_12 ? io_rs1_data : io_rs2_data; // @[Alu.scala 111:41]
-  wire [31:0] _io_rd_data_T_342 = op[15] ? _io_rd_data_T_341 : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_27 = {{31'd0}, _io_rd_data_T_342}; // @[Alu.scala 110:53]
-  wire [62:0] _io_rd_data_T_343 = _io_rd_data_T_336 | _GEN_27; // @[Alu.scala 110:53]
-  wire [31:0] _io_rd_data_T_348 = $signed(io_rs1_data) > $signed(io_rs2_data) ? io_rs1_data : io_rs2_data; // @[Alu.scala 112:41]
-  wire [31:0] _io_rd_data_T_349 = op[17] ? _io_rd_data_T_348 : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_28 = {{31'd0}, _io_rd_data_T_349}; // @[Alu.scala 111:78]
-  wire [62:0] _io_rd_data_T_350 = _io_rd_data_T_343 | _GEN_28; // @[Alu.scala 111:78]
-  wire [31:0] _io_rd_data_T_353 = _io_rd_data_T_16 ? io_rs1_data : io_rs2_data; // @[Alu.scala 113:41]
-  wire [31:0] _io_rd_data_T_354 = op[16] ? _io_rd_data_T_353 : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_29 = {{31'd0}, _io_rd_data_T_354}; // @[Alu.scala 112:78]
-  wire [62:0] _io_rd_data_T_355 = _io_rd_data_T_350 | _GEN_29; // @[Alu.scala 112:78]
-  wire [31:0] _io_rd_data_T_358 = io_rs1_data > io_rs2_data ? io_rs1_data : io_rs2_data; // @[Alu.scala 114:41]
-  wire [31:0] _io_rd_data_T_359 = op[18] ? _io_rd_data_T_358 : 32'h0; // @[Library.scala 8:8]
-  wire [62:0] _GEN_30 = {{31'd0}, _io_rd_data_T_359}; // @[Alu.scala 113:64]
-  wire [62:0] _io_rd_data_T_360 = _io_rd_data_T_355 | _GEN_30; // @[Alu.scala 113:64]
-  wire  _T_7 = ~reset; // @[Alu.scala 117:9]
-  assign io_rd_valid = valid; // @[Alu.scala 94:15]
-  assign io_rd_addr = addr; // @[Alu.scala 95:15]
-  assign io_rd_data = _io_rd_data_T_360[31:0]; // @[Alu.scala 96:15]
+  wire [62:0] _GEN_7 = {{31'd0}, _io_rd_data_T_46}; // @[Alu.scala 104:68]
+  wire [62:0] _io_rd_data_T_47 = _io_rd_data_T_44 | _GEN_7; // @[Alu.scala 104:68]
+  wire [31:0] _GEN_8 = {{16'd0}, io_rs1_data[31:16]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_52 = _GEN_8 & 32'hffff; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_54 = {io_rs1_data[15:0], 16'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _io_rd_data_T_56 = _io_rd_data_T_54 & 32'hffff0000; // @[Bitwise.scala 105:80]
+  wire [31:0] _io_rd_data_T_57 = _io_rd_data_T_52 | _io_rd_data_T_56; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_9 = {{8'd0}, _io_rd_data_T_57[31:8]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_62 = _GEN_9 & 32'hff00ff; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_64 = {_io_rd_data_T_57[23:0], 8'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _io_rd_data_T_66 = _io_rd_data_T_64 & 32'hff00ff00; // @[Bitwise.scala 105:80]
+  wire [31:0] _io_rd_data_T_67 = _io_rd_data_T_62 | _io_rd_data_T_66; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_10 = {{4'd0}, _io_rd_data_T_67[31:4]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_72 = _GEN_10 & 32'hf0f0f0f; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_74 = {_io_rd_data_T_67[27:0], 4'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _io_rd_data_T_76 = _io_rd_data_T_74 & 32'hf0f0f0f0; // @[Bitwise.scala 105:80]
+  wire [31:0] _io_rd_data_T_77 = _io_rd_data_T_72 | _io_rd_data_T_76; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_11 = {{2'd0}, _io_rd_data_T_77[31:2]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_82 = _GEN_11 & 32'h33333333; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_84 = {_io_rd_data_T_77[29:0], 2'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _io_rd_data_T_86 = _io_rd_data_T_84 & 32'hcccccccc; // @[Bitwise.scala 105:80]
+  wire [31:0] _io_rd_data_T_87 = _io_rd_data_T_82 | _io_rd_data_T_86; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_12 = {{1'd0}, _io_rd_data_T_87[31:1]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_92 = _GEN_12 & 32'h55555555; // @[Bitwise.scala 105:31]
+  wire [31:0] _io_rd_data_T_94 = {_io_rd_data_T_87[30:0], 1'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _io_rd_data_T_96 = _io_rd_data_T_94 & 32'haaaaaaaa; // @[Bitwise.scala 105:80]
+  wire [31:0] _io_rd_data_T_97 = _io_rd_data_T_92 | _io_rd_data_T_96; // @[Bitwise.scala 105:39]
+  wire [32:0] _io_rd_data_T_98 = {1'h1,_io_rd_data_T_97}; // @[Cat.scala 31:58]
+  wire [5:0] _io_rd_data_T_132 = _io_rd_data_T_98[31] ? 6'h1f : 6'h20; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_133 = _io_rd_data_T_98[30] ? 6'h1e : _io_rd_data_T_132; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_134 = _io_rd_data_T_98[29] ? 6'h1d : _io_rd_data_T_133; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_135 = _io_rd_data_T_98[28] ? 6'h1c : _io_rd_data_T_134; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_136 = _io_rd_data_T_98[27] ? 6'h1b : _io_rd_data_T_135; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_137 = _io_rd_data_T_98[26] ? 6'h1a : _io_rd_data_T_136; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_138 = _io_rd_data_T_98[25] ? 6'h19 : _io_rd_data_T_137; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_139 = _io_rd_data_T_98[24] ? 6'h18 : _io_rd_data_T_138; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_140 = _io_rd_data_T_98[23] ? 6'h17 : _io_rd_data_T_139; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_141 = _io_rd_data_T_98[22] ? 6'h16 : _io_rd_data_T_140; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_142 = _io_rd_data_T_98[21] ? 6'h15 : _io_rd_data_T_141; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_143 = _io_rd_data_T_98[20] ? 6'h14 : _io_rd_data_T_142; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_144 = _io_rd_data_T_98[19] ? 6'h13 : _io_rd_data_T_143; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_145 = _io_rd_data_T_98[18] ? 6'h12 : _io_rd_data_T_144; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_146 = _io_rd_data_T_98[17] ? 6'h11 : _io_rd_data_T_145; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_147 = _io_rd_data_T_98[16] ? 6'h10 : _io_rd_data_T_146; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_148 = _io_rd_data_T_98[15] ? 6'hf : _io_rd_data_T_147; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_149 = _io_rd_data_T_98[14] ? 6'he : _io_rd_data_T_148; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_150 = _io_rd_data_T_98[13] ? 6'hd : _io_rd_data_T_149; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_151 = _io_rd_data_T_98[12] ? 6'hc : _io_rd_data_T_150; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_152 = _io_rd_data_T_98[11] ? 6'hb : _io_rd_data_T_151; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_153 = _io_rd_data_T_98[10] ? 6'ha : _io_rd_data_T_152; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_154 = _io_rd_data_T_98[9] ? 6'h9 : _io_rd_data_T_153; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_155 = _io_rd_data_T_98[8] ? 6'h8 : _io_rd_data_T_154; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_156 = _io_rd_data_T_98[7] ? 6'h7 : _io_rd_data_T_155; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_157 = _io_rd_data_T_98[6] ? 6'h6 : _io_rd_data_T_156; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_158 = _io_rd_data_T_98[5] ? 6'h5 : _io_rd_data_T_157; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_159 = _io_rd_data_T_98[4] ? 6'h4 : _io_rd_data_T_158; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_160 = _io_rd_data_T_98[3] ? 6'h3 : _io_rd_data_T_159; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_161 = _io_rd_data_T_98[2] ? 6'h2 : _io_rd_data_T_160; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_162 = _io_rd_data_T_98[1] ? 6'h1 : _io_rd_data_T_161; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_163 = _io_rd_data_T_98[0] ? 6'h0 : _io_rd_data_T_162; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_164 = op[11] ? _io_rd_data_T_163 : 6'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_13 = {{57'd0}, _io_rd_data_T_164}; // @[Alu.scala 105:43]
+  wire [62:0] _io_rd_data_T_165 = _io_rd_data_T_47 | _GEN_13; // @[Alu.scala 105:43]
+  wire [32:0] _io_rd_data_T_167 = {1'h1,io_rs1_data}; // @[Cat.scala 31:58]
+  wire [5:0] _io_rd_data_T_201 = _io_rd_data_T_167[31] ? 6'h1f : 6'h20; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_202 = _io_rd_data_T_167[30] ? 6'h1e : _io_rd_data_T_201; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_203 = _io_rd_data_T_167[29] ? 6'h1d : _io_rd_data_T_202; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_204 = _io_rd_data_T_167[28] ? 6'h1c : _io_rd_data_T_203; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_205 = _io_rd_data_T_167[27] ? 6'h1b : _io_rd_data_T_204; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_206 = _io_rd_data_T_167[26] ? 6'h1a : _io_rd_data_T_205; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_207 = _io_rd_data_T_167[25] ? 6'h19 : _io_rd_data_T_206; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_208 = _io_rd_data_T_167[24] ? 6'h18 : _io_rd_data_T_207; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_209 = _io_rd_data_T_167[23] ? 6'h17 : _io_rd_data_T_208; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_210 = _io_rd_data_T_167[22] ? 6'h16 : _io_rd_data_T_209; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_211 = _io_rd_data_T_167[21] ? 6'h15 : _io_rd_data_T_210; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_212 = _io_rd_data_T_167[20] ? 6'h14 : _io_rd_data_T_211; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_213 = _io_rd_data_T_167[19] ? 6'h13 : _io_rd_data_T_212; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_214 = _io_rd_data_T_167[18] ? 6'h12 : _io_rd_data_T_213; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_215 = _io_rd_data_T_167[17] ? 6'h11 : _io_rd_data_T_214; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_216 = _io_rd_data_T_167[16] ? 6'h10 : _io_rd_data_T_215; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_217 = _io_rd_data_T_167[15] ? 6'hf : _io_rd_data_T_216; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_218 = _io_rd_data_T_167[14] ? 6'he : _io_rd_data_T_217; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_219 = _io_rd_data_T_167[13] ? 6'hd : _io_rd_data_T_218; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_220 = _io_rd_data_T_167[12] ? 6'hc : _io_rd_data_T_219; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_221 = _io_rd_data_T_167[11] ? 6'hb : _io_rd_data_T_220; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_222 = _io_rd_data_T_167[10] ? 6'ha : _io_rd_data_T_221; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_223 = _io_rd_data_T_167[9] ? 6'h9 : _io_rd_data_T_222; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_224 = _io_rd_data_T_167[8] ? 6'h8 : _io_rd_data_T_223; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_225 = _io_rd_data_T_167[7] ? 6'h7 : _io_rd_data_T_224; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_226 = _io_rd_data_T_167[6] ? 6'h6 : _io_rd_data_T_225; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_227 = _io_rd_data_T_167[5] ? 6'h5 : _io_rd_data_T_226; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_228 = _io_rd_data_T_167[4] ? 6'h4 : _io_rd_data_T_227; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_229 = _io_rd_data_T_167[3] ? 6'h3 : _io_rd_data_T_228; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_230 = _io_rd_data_T_167[2] ? 6'h2 : _io_rd_data_T_229; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_231 = _io_rd_data_T_167[1] ? 6'h1 : _io_rd_data_T_230; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_232 = _io_rd_data_T_167[0] ? 6'h0 : _io_rd_data_T_231; // @[Mux.scala 47:70]
+  wire [5:0] _io_rd_data_T_233 = op[12] ? _io_rd_data_T_232 : 6'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_14 = {{57'd0}, _io_rd_data_T_233}; // @[Alu.scala 106:48]
+  wire [62:0] _io_rd_data_T_234 = _io_rd_data_T_165 | _GEN_14; // @[Alu.scala 106:48]
+  wire [1:0] _io_rd_data_T_268 = io_rs1_data[0] + io_rs1_data[1]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_270 = io_rs1_data[2] + io_rs1_data[3]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_272 = _io_rd_data_T_268 + _io_rd_data_T_270; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_274 = io_rs1_data[4] + io_rs1_data[5]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_276 = io_rs1_data[6] + io_rs1_data[7]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_278 = _io_rd_data_T_274 + _io_rd_data_T_276; // @[Bitwise.scala 48:55]
+  wire [3:0] _io_rd_data_T_280 = _io_rd_data_T_272 + _io_rd_data_T_278; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_282 = io_rs1_data[8] + io_rs1_data[9]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_284 = io_rs1_data[10] + io_rs1_data[11]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_286 = _io_rd_data_T_282 + _io_rd_data_T_284; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_288 = io_rs1_data[12] + io_rs1_data[13]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_290 = io_rs1_data[14] + io_rs1_data[15]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_292 = _io_rd_data_T_288 + _io_rd_data_T_290; // @[Bitwise.scala 48:55]
+  wire [3:0] _io_rd_data_T_294 = _io_rd_data_T_286 + _io_rd_data_T_292; // @[Bitwise.scala 48:55]
+  wire [4:0] _io_rd_data_T_296 = _io_rd_data_T_280 + _io_rd_data_T_294; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_298 = io_rs1_data[16] + io_rs1_data[17]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_300 = io_rs1_data[18] + io_rs1_data[19]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_302 = _io_rd_data_T_298 + _io_rd_data_T_300; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_304 = io_rs1_data[20] + io_rs1_data[21]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_306 = io_rs1_data[22] + io_rs1_data[23]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_308 = _io_rd_data_T_304 + _io_rd_data_T_306; // @[Bitwise.scala 48:55]
+  wire [3:0] _io_rd_data_T_310 = _io_rd_data_T_302 + _io_rd_data_T_308; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_312 = io_rs1_data[24] + io_rs1_data[25]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_314 = io_rs1_data[26] + io_rs1_data[27]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_316 = _io_rd_data_T_312 + _io_rd_data_T_314; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_318 = io_rs1_data[28] + io_rs1_data[29]; // @[Bitwise.scala 48:55]
+  wire [1:0] _io_rd_data_T_320 = io_rs1_data[30] + io_rs1_data[31]; // @[Bitwise.scala 48:55]
+  wire [2:0] _io_rd_data_T_322 = _io_rd_data_T_318 + _io_rd_data_T_320; // @[Bitwise.scala 48:55]
+  wire [3:0] _io_rd_data_T_324 = _io_rd_data_T_316 + _io_rd_data_T_322; // @[Bitwise.scala 48:55]
+  wire [4:0] _io_rd_data_T_326 = _io_rd_data_T_310 + _io_rd_data_T_324; // @[Bitwise.scala 48:55]
+  wire [5:0] _io_rd_data_T_328 = _io_rd_data_T_296 + _io_rd_data_T_326; // @[Bitwise.scala 48:55]
+  wire [5:0] _io_rd_data_T_330 = op[13] ? _io_rd_data_T_328 : 6'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_15 = {{57'd0}, _io_rd_data_T_330}; // @[Alu.scala 107:48]
+  wire [62:0] _io_rd_data_T_331 = _io_rd_data_T_234 | _GEN_15; // @[Alu.scala 107:48]
+  wire [31:0] _io_rd_data_T_336 = _io_rd_data_T_12 ? io_rs1_data : io_rs2_data; // @[Alu.scala 109:41]
+  wire [31:0] _io_rd_data_T_337 = op[14] ? _io_rd_data_T_336 : 32'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_16 = {{31'd0}, _io_rd_data_T_337}; // @[Alu.scala 108:53]
+  wire [62:0] _io_rd_data_T_338 = _io_rd_data_T_331 | _GEN_16; // @[Alu.scala 108:53]
+  wire [31:0] _io_rd_data_T_343 = $signed(io_rs1_data) > $signed(io_rs2_data) ? io_rs1_data : io_rs2_data; // @[Alu.scala 110:41]
+  wire [31:0] _io_rd_data_T_344 = op[16] ? _io_rd_data_T_343 : 32'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_17 = {{31'd0}, _io_rd_data_T_344}; // @[Alu.scala 109:78]
+  wire [62:0] _io_rd_data_T_345 = _io_rd_data_T_338 | _GEN_17; // @[Alu.scala 109:78]
+  wire [31:0] _io_rd_data_T_348 = _io_rd_data_T_16 ? io_rs1_data : io_rs2_data; // @[Alu.scala 111:41]
+  wire [31:0] _io_rd_data_T_349 = op[15] ? _io_rd_data_T_348 : 32'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_18 = {{31'd0}, _io_rd_data_T_349}; // @[Alu.scala 110:78]
+  wire [62:0] _io_rd_data_T_350 = _io_rd_data_T_345 | _GEN_18; // @[Alu.scala 110:78]
+  wire [31:0] _io_rd_data_T_353 = io_rs1_data > io_rs2_data ? io_rs1_data : io_rs2_data; // @[Alu.scala 112:41]
+  wire [31:0] _io_rd_data_T_354 = op[17] ? _io_rd_data_T_353 : 32'h0; // @[Library.scala 8:8]
+  wire [62:0] _GEN_19 = {{31'd0}, _io_rd_data_T_354}; // @[Alu.scala 111:64]
+  wire [62:0] _io_rd_data_T_355 = _io_rd_data_T_350 | _GEN_19; // @[Alu.scala 111:64]
+  wire  _T_7 = ~reset; // @[Alu.scala 115:9]
+  assign io_rd_valid = valid; // @[Alu.scala 93:15]
+  assign io_rd_addr = addr; // @[Alu.scala 94:15]
+  assign io_rd_data = _io_rd_data_T_355[31:0]; // @[Alu.scala 95:15]
   always @(posedge clock) begin
-    if (io_req_valid) begin // @[Alu.scala 64:23]
-      addr <= io_req_addr; // @[Alu.scala 65:10]
+    if (io_req_valid) begin // @[Alu.scala 63:23]
+      addr <= io_req_addr; // @[Alu.scala 64:10]
     end
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (~reset & ~(~(valid & ~io_rs1_valid & ~op[10]))) begin
-          $fatal; // @[Alu.scala 117:9]
+          $fatal; // @[Alu.scala 115:9]
         end
     `ifdef STOP_COND
       end
@@ -14006,7 +13772,7 @@
     `endif
         if (~reset & ~(~(valid & ~io_rs1_valid & ~op[10]))) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at Alu.scala:117 assert(!(valid && !io.rs1.valid && !op(alu.LUI)))\n"); // @[Alu.scala 117:9]
+            "Assertion failed\n    at Alu.scala:115 assert(!(valid && !io.rs1.valid && !op(alu.LUI)))\n"); // @[Alu.scala 115:9]
         end
     `ifdef PRINTF_COND
       end
@@ -14017,7 +13783,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_7 & ~(~(valid & ~io_rs2_valid))) begin
-          $fatal; // @[Alu.scala 118:9]
+          $fatal; // @[Alu.scala 116:9]
         end
     `ifdef STOP_COND
       end
@@ -14028,7 +13794,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (_T_7 & ~(~(valid & ~io_rs2_valid))) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at Alu.scala:118 assert(!(valid && !io.rs2.valid))\n"); // @[Alu.scala 118:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at Alu.scala:116 assert(!(valid && !io.rs2.valid))\n"); // @[Alu.scala 116:9]
         end
     `ifdef PRINTF_COND
       end
@@ -14036,16 +13802,16 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Alu.scala 55:22]
-      valid <= 1'h0; // @[Alu.scala 55:22]
+    if (reset) begin // @[Alu.scala 54:22]
+      valid <= 1'h0; // @[Alu.scala 54:22]
     end else begin
-      valid <= io_req_valid; // @[Alu.scala 60:9]
+      valid <= io_req_valid; // @[Alu.scala 59:9]
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Alu.scala 64:23]
-      op <= 19'h0; // @[Alu.scala 66:8]
-    end else if (io_req_valid) begin // @[Alu.scala 57:19]
+    if (reset) begin // @[Alu.scala 63:23]
+      op <= 18'h0; // @[Alu.scala 65:8]
+    end else if (io_req_valid) begin // @[Alu.scala 56:19]
       op <= io_req_op;
     end
   end
@@ -14090,13 +13856,13 @@
   _RAND_1 = {1{`RANDOM}};
   addr = _RAND_1[4:0];
   _RAND_2 = {1{`RANDOM}};
-  op = _RAND_2[18:0];
+  op = _RAND_2[17:0];
 `endif // RANDOMIZE_REG_INIT
   if (reset) begin
     valid = 1'h0;
   end
   if (reset) begin
-    op = 19'h0;
+    op = 18'h0;
   end
   `endif // RANDOMIZE
 end // initial
@@ -22723,21 +22489,12 @@
   input  [4:0]  io_freadAddr_1_addr,
   input         io_freadAddr_2_valid,
   input  [4:0]  io_freadAddr_2_addr,
-  input         io_freadAddr_3_valid,
-  input  [4:0]  io_freadAddr_3_addr,
-  input         io_freadAddr_4_valid,
-  input  [4:0]  io_freadAddr_4_addr,
-  input         io_freadAddr_5_valid,
-  input  [4:0]  io_freadAddr_5_addr,
   input         io_fwriteAddr_valid,
   input  [4:0]  io_fwriteAddr_addr,
   output [31:0] io_fbusPort_data,
   output [31:0] io_freadData_0_data,
   output [31:0] io_freadData_1_data,
   output [31:0] io_freadData_2_data,
-  output [31:0] io_freadData_3_data,
-  output [31:0] io_freadData_4_data,
-  output [31:0] io_freadData_5_data,
   input         io_fwriteData_0_valid,
   input  [4:0]  io_fwriteData_0_addr,
   input  [31:0] io_fwriteData_0_data,
@@ -22797,9 +22554,6 @@
   reg [31:0] _RAND_35;
   reg [31:0] _RAND_36;
   reg [31:0] _RAND_37;
-  reg [31:0] _RAND_38;
-  reg [31:0] _RAND_39;
-  reg [31:0] _RAND_40;
 `endif // RANDOMIZE_REG_INIT
   reg [31:0] fregfile_0; // @[FRegfile.scala 55:21]
   reg [31:0] fregfile_1; // @[FRegfile.scala 55:21]
@@ -23692,9 +23446,6 @@
   reg [31:0] readDataBits_0; // @[FRegfile.scala 109:26]
   reg [31:0] readDataBits_1; // @[FRegfile.scala 109:26]
   reg [31:0] readDataBits_2; // @[FRegfile.scala 109:26]
-  reg [31:0] readDataBits_3; // @[FRegfile.scala 109:26]
-  reg [31:0] readDataBits_4; // @[FRegfile.scala 109:26]
-  reg [31:0] readDataBits_5; // @[FRegfile.scala 109:26]
   wire  write_value__0 = 5'h0 == io_freadAddr_0_addr & fwriteValid_0; // @[Library.scala 101:22]
   wire  write_value__1 = 5'h1 == io_freadAddr_0_addr & fwriteValid_1; // @[Library.scala 101:22]
   wire  write_value__2 = 5'h2 == io_freadAddr_0_addr & fwriteValid_2; // @[Library.scala 101:22]
@@ -24262,573 +24013,6 @@
   wire [31:0] wdata_value_16_0 = wdata_value_15_0 | wdata_value_15_1; // @[Library.scala 115:37]
   wire [31:0] wdata_value_16_1 = wdata_value_15_2 | wdata_value_15_3; // @[Library.scala 115:37]
   wire [31:0] wdata_value_17_0 = wdata_value_16_0 | wdata_value_16_1; // @[Library.scala 115:37]
-  wire  write_value_18_0 = 5'h0 == io_freadAddr_3_addr & fwriteValid_0; // @[Library.scala 101:22]
-  wire  write_value_18_1 = 5'h1 == io_freadAddr_3_addr & fwriteValid_1; // @[Library.scala 101:22]
-  wire  write_value_18_2 = 5'h2 == io_freadAddr_3_addr & fwriteValid_2; // @[Library.scala 101:22]
-  wire  write_value_18_3 = 5'h3 == io_freadAddr_3_addr & fwriteValid_3; // @[Library.scala 101:22]
-  wire  write_value_18_4 = 5'h4 == io_freadAddr_3_addr & fwriteValid_4; // @[Library.scala 101:22]
-  wire  write_value_18_5 = 5'h5 == io_freadAddr_3_addr & fwriteValid_5; // @[Library.scala 101:22]
-  wire  write_value_18_6 = 5'h6 == io_freadAddr_3_addr & fwriteValid_6; // @[Library.scala 101:22]
-  wire  write_value_18_7 = 5'h7 == io_freadAddr_3_addr & fwriteValid_7; // @[Library.scala 101:22]
-  wire  write_value_18_8 = 5'h8 == io_freadAddr_3_addr & fwriteValid_8; // @[Library.scala 101:22]
-  wire  write_value_18_9 = 5'h9 == io_freadAddr_3_addr & fwriteValid_9; // @[Library.scala 101:22]
-  wire  write_value_18_10 = 5'ha == io_freadAddr_3_addr & fwriteValid_10; // @[Library.scala 101:22]
-  wire  write_value_18_11 = 5'hb == io_freadAddr_3_addr & fwriteValid_11; // @[Library.scala 101:22]
-  wire  write_value_18_12 = 5'hc == io_freadAddr_3_addr & fwriteValid_12; // @[Library.scala 101:22]
-  wire  write_value_18_13 = 5'hd == io_freadAddr_3_addr & fwriteValid_13; // @[Library.scala 101:22]
-  wire  write_value_18_14 = 5'he == io_freadAddr_3_addr & fwriteValid_14; // @[Library.scala 101:22]
-  wire  write_value_18_15 = 5'hf == io_freadAddr_3_addr & fwriteValid_15; // @[Library.scala 101:22]
-  wire  write_value_18_16 = 5'h10 == io_freadAddr_3_addr & fwriteValid_16; // @[Library.scala 101:22]
-  wire  write_value_18_17 = 5'h11 == io_freadAddr_3_addr & fwriteValid_17; // @[Library.scala 101:22]
-  wire  write_value_18_18 = 5'h12 == io_freadAddr_3_addr & fwriteValid_18; // @[Library.scala 101:22]
-  wire  write_value_18_19 = 5'h13 == io_freadAddr_3_addr & fwriteValid_19; // @[Library.scala 101:22]
-  wire  write_value_18_20 = 5'h14 == io_freadAddr_3_addr & fwriteValid_20; // @[Library.scala 101:22]
-  wire  write_value_18_21 = 5'h15 == io_freadAddr_3_addr & fwriteValid_21; // @[Library.scala 101:22]
-  wire  write_value_18_22 = 5'h16 == io_freadAddr_3_addr & fwriteValid_22; // @[Library.scala 101:22]
-  wire  write_value_18_23 = 5'h17 == io_freadAddr_3_addr & fwriteValid_23; // @[Library.scala 101:22]
-  wire  write_value_18_24 = 5'h18 == io_freadAddr_3_addr & fwriteValid_24; // @[Library.scala 101:22]
-  wire  write_value_18_25 = 5'h19 == io_freadAddr_3_addr & fwriteValid_25; // @[Library.scala 101:22]
-  wire  write_value_18_26 = 5'h1a == io_freadAddr_3_addr & fwriteValid_26; // @[Library.scala 101:22]
-  wire  write_value_18_27 = 5'h1b == io_freadAddr_3_addr & fwriteValid_27; // @[Library.scala 101:22]
-  wire  write_value_18_28 = 5'h1c == io_freadAddr_3_addr & fwriteValid_28; // @[Library.scala 101:22]
-  wire  write_value_18_29 = 5'h1d == io_freadAddr_3_addr & fwriteValid_29; // @[Library.scala 101:22]
-  wire  write_value_18_30 = 5'h1e == io_freadAddr_3_addr & fwriteValid_30; // @[Library.scala 101:22]
-  wire  write_value_18_31 = 5'h1f == io_freadAddr_3_addr & fwriteValid_31; // @[Library.scala 101:22]
-  wire  write_value_19_0 = write_value_18_0 | write_value_18_1; // @[Library.scala 115:37]
-  wire  write_value_19_1 = write_value_18_2 | write_value_18_3; // @[Library.scala 115:37]
-  wire  write_value_19_2 = write_value_18_4 | write_value_18_5; // @[Library.scala 115:37]
-  wire  write_value_19_3 = write_value_18_6 | write_value_18_7; // @[Library.scala 115:37]
-  wire  write_value_19_4 = write_value_18_8 | write_value_18_9; // @[Library.scala 115:37]
-  wire  write_value_19_5 = write_value_18_10 | write_value_18_11; // @[Library.scala 115:37]
-  wire  write_value_19_6 = write_value_18_12 | write_value_18_13; // @[Library.scala 115:37]
-  wire  write_value_19_7 = write_value_18_14 | write_value_18_15; // @[Library.scala 115:37]
-  wire  write_value_19_8 = write_value_18_16 | write_value_18_17; // @[Library.scala 115:37]
-  wire  write_value_19_9 = write_value_18_18 | write_value_18_19; // @[Library.scala 115:37]
-  wire  write_value_19_10 = write_value_18_20 | write_value_18_21; // @[Library.scala 115:37]
-  wire  write_value_19_11 = write_value_18_22 | write_value_18_23; // @[Library.scala 115:37]
-  wire  write_value_19_12 = write_value_18_24 | write_value_18_25; // @[Library.scala 115:37]
-  wire  write_value_19_13 = write_value_18_26 | write_value_18_27; // @[Library.scala 115:37]
-  wire  write_value_19_14 = write_value_18_28 | write_value_18_29; // @[Library.scala 115:37]
-  wire  write_value_19_15 = write_value_18_30 | write_value_18_31; // @[Library.scala 115:37]
-  wire  write_value_20_0 = write_value_19_0 | write_value_19_1; // @[Library.scala 115:37]
-  wire  write_value_20_1 = write_value_19_2 | write_value_19_3; // @[Library.scala 115:37]
-  wire  write_value_20_2 = write_value_19_4 | write_value_19_5; // @[Library.scala 115:37]
-  wire  write_value_20_3 = write_value_19_6 | write_value_19_7; // @[Library.scala 115:37]
-  wire  write_value_20_4 = write_value_19_8 | write_value_19_9; // @[Library.scala 115:37]
-  wire  write_value_20_5 = write_value_19_10 | write_value_19_11; // @[Library.scala 115:37]
-  wire  write_value_20_6 = write_value_19_12 | write_value_19_13; // @[Library.scala 115:37]
-  wire  write_value_20_7 = write_value_19_14 | write_value_19_15; // @[Library.scala 115:37]
-  wire  write_value_21_0 = write_value_20_0 | write_value_20_1; // @[Library.scala 115:37]
-  wire  write_value_21_1 = write_value_20_2 | write_value_20_3; // @[Library.scala 115:37]
-  wire  write_value_21_2 = write_value_20_4 | write_value_20_5; // @[Library.scala 115:37]
-  wire  write_value_21_3 = write_value_20_6 | write_value_20_7; // @[Library.scala 115:37]
-  wire  write_value_22_0 = write_value_21_0 | write_value_21_1; // @[Library.scala 115:37]
-  wire  write_value_22_1 = write_value_21_2 | write_value_21_3; // @[Library.scala 115:37]
-  wire  write_value_23_0 = write_value_22_0 | write_value_22_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_18_0 = 5'h0 == io_freadAddr_3_addr ? fregfile_0 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_1 = 5'h1 == io_freadAddr_3_addr ? fregfile_1 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_2 = 5'h2 == io_freadAddr_3_addr ? fregfile_2 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_3 = 5'h3 == io_freadAddr_3_addr ? fregfile_3 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_4 = 5'h4 == io_freadAddr_3_addr ? fregfile_4 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_5 = 5'h5 == io_freadAddr_3_addr ? fregfile_5 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_6 = 5'h6 == io_freadAddr_3_addr ? fregfile_6 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_7 = 5'h7 == io_freadAddr_3_addr ? fregfile_7 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_8 = 5'h8 == io_freadAddr_3_addr ? fregfile_8 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_9 = 5'h9 == io_freadAddr_3_addr ? fregfile_9 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_10 = 5'ha == io_freadAddr_3_addr ? fregfile_10 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_11 = 5'hb == io_freadAddr_3_addr ? fregfile_11 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_12 = 5'hc == io_freadAddr_3_addr ? fregfile_12 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_13 = 5'hd == io_freadAddr_3_addr ? fregfile_13 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_14 = 5'he == io_freadAddr_3_addr ? fregfile_14 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_15 = 5'hf == io_freadAddr_3_addr ? fregfile_15 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_16 = 5'h10 == io_freadAddr_3_addr ? fregfile_16 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_17 = 5'h11 == io_freadAddr_3_addr ? fregfile_17 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_18 = 5'h12 == io_freadAddr_3_addr ? fregfile_18 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_19 = 5'h13 == io_freadAddr_3_addr ? fregfile_19 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_20 = 5'h14 == io_freadAddr_3_addr ? fregfile_20 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_21 = 5'h15 == io_freadAddr_3_addr ? fregfile_21 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_22 = 5'h16 == io_freadAddr_3_addr ? fregfile_22 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_23 = 5'h17 == io_freadAddr_3_addr ? fregfile_23 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_24 = 5'h18 == io_freadAddr_3_addr ? fregfile_24 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_25 = 5'h19 == io_freadAddr_3_addr ? fregfile_25 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_26 = 5'h1a == io_freadAddr_3_addr ? fregfile_26 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_27 = 5'h1b == io_freadAddr_3_addr ? fregfile_27 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_28 = 5'h1c == io_freadAddr_3_addr ? fregfile_28 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_29 = 5'h1d == io_freadAddr_3_addr ? fregfile_29 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_30 = 5'h1e == io_freadAddr_3_addr ? fregfile_30 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_18_31 = 5'h1f == io_freadAddr_3_addr ? fregfile_31 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_19_0 = rdata_value_18_0 | rdata_value_18_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_1 = rdata_value_18_2 | rdata_value_18_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_2 = rdata_value_18_4 | rdata_value_18_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_3 = rdata_value_18_6 | rdata_value_18_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_4 = rdata_value_18_8 | rdata_value_18_9; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_5 = rdata_value_18_10 | rdata_value_18_11; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_6 = rdata_value_18_12 | rdata_value_18_13; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_7 = rdata_value_18_14 | rdata_value_18_15; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_8 = rdata_value_18_16 | rdata_value_18_17; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_9 = rdata_value_18_18 | rdata_value_18_19; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_10 = rdata_value_18_20 | rdata_value_18_21; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_11 = rdata_value_18_22 | rdata_value_18_23; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_12 = rdata_value_18_24 | rdata_value_18_25; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_13 = rdata_value_18_26 | rdata_value_18_27; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_14 = rdata_value_18_28 | rdata_value_18_29; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_19_15 = rdata_value_18_30 | rdata_value_18_31; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_0 = rdata_value_19_0 | rdata_value_19_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_1 = rdata_value_19_2 | rdata_value_19_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_2 = rdata_value_19_4 | rdata_value_19_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_3 = rdata_value_19_6 | rdata_value_19_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_4 = rdata_value_19_8 | rdata_value_19_9; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_5 = rdata_value_19_10 | rdata_value_19_11; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_6 = rdata_value_19_12 | rdata_value_19_13; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_20_7 = rdata_value_19_14 | rdata_value_19_15; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_21_0 = rdata_value_20_0 | rdata_value_20_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_21_1 = rdata_value_20_2 | rdata_value_20_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_21_2 = rdata_value_20_4 | rdata_value_20_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_21_3 = rdata_value_20_6 | rdata_value_20_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_22_0 = rdata_value_21_0 | rdata_value_21_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_22_1 = rdata_value_21_2 | rdata_value_21_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_23_0 = rdata_value_22_0 | rdata_value_22_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_18_0 = 5'h0 == io_freadAddr_3_addr ? data : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_1 = 5'h1 == io_freadAddr_3_addr ? data_1 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_2 = 5'h2 == io_freadAddr_3_addr ? data_2 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_3 = 5'h3 == io_freadAddr_3_addr ? data_3 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_4 = 5'h4 == io_freadAddr_3_addr ? data_4 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_5 = 5'h5 == io_freadAddr_3_addr ? data_5 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_6 = 5'h6 == io_freadAddr_3_addr ? data_6 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_7 = 5'h7 == io_freadAddr_3_addr ? data_7 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_8 = 5'h8 == io_freadAddr_3_addr ? data_8 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_9 = 5'h9 == io_freadAddr_3_addr ? data_9 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_10 = 5'ha == io_freadAddr_3_addr ? data_10 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_11 = 5'hb == io_freadAddr_3_addr ? data_11 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_12 = 5'hc == io_freadAddr_3_addr ? data_12 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_13 = 5'hd == io_freadAddr_3_addr ? data_13 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_14 = 5'he == io_freadAddr_3_addr ? data_14 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_15 = 5'hf == io_freadAddr_3_addr ? data_15 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_16 = 5'h10 == io_freadAddr_3_addr ? data_16 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_17 = 5'h11 == io_freadAddr_3_addr ? data_17 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_18 = 5'h12 == io_freadAddr_3_addr ? data_18 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_19 = 5'h13 == io_freadAddr_3_addr ? data_19 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_20 = 5'h14 == io_freadAddr_3_addr ? data_20 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_21 = 5'h15 == io_freadAddr_3_addr ? data_21 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_22 = 5'h16 == io_freadAddr_3_addr ? data_22 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_23 = 5'h17 == io_freadAddr_3_addr ? data_23 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_24 = 5'h18 == io_freadAddr_3_addr ? data_24 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_25 = 5'h19 == io_freadAddr_3_addr ? data_25 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_26 = 5'h1a == io_freadAddr_3_addr ? data_26 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_27 = 5'h1b == io_freadAddr_3_addr ? data_27 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_28 = 5'h1c == io_freadAddr_3_addr ? data_28 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_29 = 5'h1d == io_freadAddr_3_addr ? data_29 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_30 = 5'h1e == io_freadAddr_3_addr ? data_30 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_18_31 = 5'h1f == io_freadAddr_3_addr ? data_31 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_19_0 = wdata_value_18_0 | wdata_value_18_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_1 = wdata_value_18_2 | wdata_value_18_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_2 = wdata_value_18_4 | wdata_value_18_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_3 = wdata_value_18_6 | wdata_value_18_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_4 = wdata_value_18_8 | wdata_value_18_9; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_5 = wdata_value_18_10 | wdata_value_18_11; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_6 = wdata_value_18_12 | wdata_value_18_13; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_7 = wdata_value_18_14 | wdata_value_18_15; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_8 = wdata_value_18_16 | wdata_value_18_17; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_9 = wdata_value_18_18 | wdata_value_18_19; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_10 = wdata_value_18_20 | wdata_value_18_21; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_11 = wdata_value_18_22 | wdata_value_18_23; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_12 = wdata_value_18_24 | wdata_value_18_25; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_13 = wdata_value_18_26 | wdata_value_18_27; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_14 = wdata_value_18_28 | wdata_value_18_29; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_19_15 = wdata_value_18_30 | wdata_value_18_31; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_0 = wdata_value_19_0 | wdata_value_19_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_1 = wdata_value_19_2 | wdata_value_19_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_2 = wdata_value_19_4 | wdata_value_19_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_3 = wdata_value_19_6 | wdata_value_19_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_4 = wdata_value_19_8 | wdata_value_19_9; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_5 = wdata_value_19_10 | wdata_value_19_11; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_6 = wdata_value_19_12 | wdata_value_19_13; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_20_7 = wdata_value_19_14 | wdata_value_19_15; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_21_0 = wdata_value_20_0 | wdata_value_20_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_21_1 = wdata_value_20_2 | wdata_value_20_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_21_2 = wdata_value_20_4 | wdata_value_20_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_21_3 = wdata_value_20_6 | wdata_value_20_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_22_0 = wdata_value_21_0 | wdata_value_21_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_22_1 = wdata_value_21_2 | wdata_value_21_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_23_0 = wdata_value_22_0 | wdata_value_22_1; // @[Library.scala 115:37]
-  wire  write_value_24_0 = 5'h0 == io_freadAddr_4_addr & fwriteValid_0; // @[Library.scala 101:22]
-  wire  write_value_24_1 = 5'h1 == io_freadAddr_4_addr & fwriteValid_1; // @[Library.scala 101:22]
-  wire  write_value_24_2 = 5'h2 == io_freadAddr_4_addr & fwriteValid_2; // @[Library.scala 101:22]
-  wire  write_value_24_3 = 5'h3 == io_freadAddr_4_addr & fwriteValid_3; // @[Library.scala 101:22]
-  wire  write_value_24_4 = 5'h4 == io_freadAddr_4_addr & fwriteValid_4; // @[Library.scala 101:22]
-  wire  write_value_24_5 = 5'h5 == io_freadAddr_4_addr & fwriteValid_5; // @[Library.scala 101:22]
-  wire  write_value_24_6 = 5'h6 == io_freadAddr_4_addr & fwriteValid_6; // @[Library.scala 101:22]
-  wire  write_value_24_7 = 5'h7 == io_freadAddr_4_addr & fwriteValid_7; // @[Library.scala 101:22]
-  wire  write_value_24_8 = 5'h8 == io_freadAddr_4_addr & fwriteValid_8; // @[Library.scala 101:22]
-  wire  write_value_24_9 = 5'h9 == io_freadAddr_4_addr & fwriteValid_9; // @[Library.scala 101:22]
-  wire  write_value_24_10 = 5'ha == io_freadAddr_4_addr & fwriteValid_10; // @[Library.scala 101:22]
-  wire  write_value_24_11 = 5'hb == io_freadAddr_4_addr & fwriteValid_11; // @[Library.scala 101:22]
-  wire  write_value_24_12 = 5'hc == io_freadAddr_4_addr & fwriteValid_12; // @[Library.scala 101:22]
-  wire  write_value_24_13 = 5'hd == io_freadAddr_4_addr & fwriteValid_13; // @[Library.scala 101:22]
-  wire  write_value_24_14 = 5'he == io_freadAddr_4_addr & fwriteValid_14; // @[Library.scala 101:22]
-  wire  write_value_24_15 = 5'hf == io_freadAddr_4_addr & fwriteValid_15; // @[Library.scala 101:22]
-  wire  write_value_24_16 = 5'h10 == io_freadAddr_4_addr & fwriteValid_16; // @[Library.scala 101:22]
-  wire  write_value_24_17 = 5'h11 == io_freadAddr_4_addr & fwriteValid_17; // @[Library.scala 101:22]
-  wire  write_value_24_18 = 5'h12 == io_freadAddr_4_addr & fwriteValid_18; // @[Library.scala 101:22]
-  wire  write_value_24_19 = 5'h13 == io_freadAddr_4_addr & fwriteValid_19; // @[Library.scala 101:22]
-  wire  write_value_24_20 = 5'h14 == io_freadAddr_4_addr & fwriteValid_20; // @[Library.scala 101:22]
-  wire  write_value_24_21 = 5'h15 == io_freadAddr_4_addr & fwriteValid_21; // @[Library.scala 101:22]
-  wire  write_value_24_22 = 5'h16 == io_freadAddr_4_addr & fwriteValid_22; // @[Library.scala 101:22]
-  wire  write_value_24_23 = 5'h17 == io_freadAddr_4_addr & fwriteValid_23; // @[Library.scala 101:22]
-  wire  write_value_24_24 = 5'h18 == io_freadAddr_4_addr & fwriteValid_24; // @[Library.scala 101:22]
-  wire  write_value_24_25 = 5'h19 == io_freadAddr_4_addr & fwriteValid_25; // @[Library.scala 101:22]
-  wire  write_value_24_26 = 5'h1a == io_freadAddr_4_addr & fwriteValid_26; // @[Library.scala 101:22]
-  wire  write_value_24_27 = 5'h1b == io_freadAddr_4_addr & fwriteValid_27; // @[Library.scala 101:22]
-  wire  write_value_24_28 = 5'h1c == io_freadAddr_4_addr & fwriteValid_28; // @[Library.scala 101:22]
-  wire  write_value_24_29 = 5'h1d == io_freadAddr_4_addr & fwriteValid_29; // @[Library.scala 101:22]
-  wire  write_value_24_30 = 5'h1e == io_freadAddr_4_addr & fwriteValid_30; // @[Library.scala 101:22]
-  wire  write_value_24_31 = 5'h1f == io_freadAddr_4_addr & fwriteValid_31; // @[Library.scala 101:22]
-  wire  write_value_25_0 = write_value_24_0 | write_value_24_1; // @[Library.scala 115:37]
-  wire  write_value_25_1 = write_value_24_2 | write_value_24_3; // @[Library.scala 115:37]
-  wire  write_value_25_2 = write_value_24_4 | write_value_24_5; // @[Library.scala 115:37]
-  wire  write_value_25_3 = write_value_24_6 | write_value_24_7; // @[Library.scala 115:37]
-  wire  write_value_25_4 = write_value_24_8 | write_value_24_9; // @[Library.scala 115:37]
-  wire  write_value_25_5 = write_value_24_10 | write_value_24_11; // @[Library.scala 115:37]
-  wire  write_value_25_6 = write_value_24_12 | write_value_24_13; // @[Library.scala 115:37]
-  wire  write_value_25_7 = write_value_24_14 | write_value_24_15; // @[Library.scala 115:37]
-  wire  write_value_25_8 = write_value_24_16 | write_value_24_17; // @[Library.scala 115:37]
-  wire  write_value_25_9 = write_value_24_18 | write_value_24_19; // @[Library.scala 115:37]
-  wire  write_value_25_10 = write_value_24_20 | write_value_24_21; // @[Library.scala 115:37]
-  wire  write_value_25_11 = write_value_24_22 | write_value_24_23; // @[Library.scala 115:37]
-  wire  write_value_25_12 = write_value_24_24 | write_value_24_25; // @[Library.scala 115:37]
-  wire  write_value_25_13 = write_value_24_26 | write_value_24_27; // @[Library.scala 115:37]
-  wire  write_value_25_14 = write_value_24_28 | write_value_24_29; // @[Library.scala 115:37]
-  wire  write_value_25_15 = write_value_24_30 | write_value_24_31; // @[Library.scala 115:37]
-  wire  write_value_26_0 = write_value_25_0 | write_value_25_1; // @[Library.scala 115:37]
-  wire  write_value_26_1 = write_value_25_2 | write_value_25_3; // @[Library.scala 115:37]
-  wire  write_value_26_2 = write_value_25_4 | write_value_25_5; // @[Library.scala 115:37]
-  wire  write_value_26_3 = write_value_25_6 | write_value_25_7; // @[Library.scala 115:37]
-  wire  write_value_26_4 = write_value_25_8 | write_value_25_9; // @[Library.scala 115:37]
-  wire  write_value_26_5 = write_value_25_10 | write_value_25_11; // @[Library.scala 115:37]
-  wire  write_value_26_6 = write_value_25_12 | write_value_25_13; // @[Library.scala 115:37]
-  wire  write_value_26_7 = write_value_25_14 | write_value_25_15; // @[Library.scala 115:37]
-  wire  write_value_27_0 = write_value_26_0 | write_value_26_1; // @[Library.scala 115:37]
-  wire  write_value_27_1 = write_value_26_2 | write_value_26_3; // @[Library.scala 115:37]
-  wire  write_value_27_2 = write_value_26_4 | write_value_26_5; // @[Library.scala 115:37]
-  wire  write_value_27_3 = write_value_26_6 | write_value_26_7; // @[Library.scala 115:37]
-  wire  write_value_28_0 = write_value_27_0 | write_value_27_1; // @[Library.scala 115:37]
-  wire  write_value_28_1 = write_value_27_2 | write_value_27_3; // @[Library.scala 115:37]
-  wire  write_value_29_0 = write_value_28_0 | write_value_28_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_24_0 = 5'h0 == io_freadAddr_4_addr ? fregfile_0 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_1 = 5'h1 == io_freadAddr_4_addr ? fregfile_1 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_2 = 5'h2 == io_freadAddr_4_addr ? fregfile_2 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_3 = 5'h3 == io_freadAddr_4_addr ? fregfile_3 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_4 = 5'h4 == io_freadAddr_4_addr ? fregfile_4 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_5 = 5'h5 == io_freadAddr_4_addr ? fregfile_5 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_6 = 5'h6 == io_freadAddr_4_addr ? fregfile_6 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_7 = 5'h7 == io_freadAddr_4_addr ? fregfile_7 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_8 = 5'h8 == io_freadAddr_4_addr ? fregfile_8 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_9 = 5'h9 == io_freadAddr_4_addr ? fregfile_9 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_10 = 5'ha == io_freadAddr_4_addr ? fregfile_10 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_11 = 5'hb == io_freadAddr_4_addr ? fregfile_11 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_12 = 5'hc == io_freadAddr_4_addr ? fregfile_12 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_13 = 5'hd == io_freadAddr_4_addr ? fregfile_13 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_14 = 5'he == io_freadAddr_4_addr ? fregfile_14 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_15 = 5'hf == io_freadAddr_4_addr ? fregfile_15 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_16 = 5'h10 == io_freadAddr_4_addr ? fregfile_16 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_17 = 5'h11 == io_freadAddr_4_addr ? fregfile_17 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_18 = 5'h12 == io_freadAddr_4_addr ? fregfile_18 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_19 = 5'h13 == io_freadAddr_4_addr ? fregfile_19 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_20 = 5'h14 == io_freadAddr_4_addr ? fregfile_20 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_21 = 5'h15 == io_freadAddr_4_addr ? fregfile_21 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_22 = 5'h16 == io_freadAddr_4_addr ? fregfile_22 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_23 = 5'h17 == io_freadAddr_4_addr ? fregfile_23 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_24 = 5'h18 == io_freadAddr_4_addr ? fregfile_24 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_25 = 5'h19 == io_freadAddr_4_addr ? fregfile_25 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_26 = 5'h1a == io_freadAddr_4_addr ? fregfile_26 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_27 = 5'h1b == io_freadAddr_4_addr ? fregfile_27 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_28 = 5'h1c == io_freadAddr_4_addr ? fregfile_28 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_29 = 5'h1d == io_freadAddr_4_addr ? fregfile_29 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_30 = 5'h1e == io_freadAddr_4_addr ? fregfile_30 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_24_31 = 5'h1f == io_freadAddr_4_addr ? fregfile_31 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_25_0 = rdata_value_24_0 | rdata_value_24_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_1 = rdata_value_24_2 | rdata_value_24_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_2 = rdata_value_24_4 | rdata_value_24_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_3 = rdata_value_24_6 | rdata_value_24_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_4 = rdata_value_24_8 | rdata_value_24_9; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_5 = rdata_value_24_10 | rdata_value_24_11; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_6 = rdata_value_24_12 | rdata_value_24_13; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_7 = rdata_value_24_14 | rdata_value_24_15; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_8 = rdata_value_24_16 | rdata_value_24_17; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_9 = rdata_value_24_18 | rdata_value_24_19; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_10 = rdata_value_24_20 | rdata_value_24_21; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_11 = rdata_value_24_22 | rdata_value_24_23; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_12 = rdata_value_24_24 | rdata_value_24_25; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_13 = rdata_value_24_26 | rdata_value_24_27; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_14 = rdata_value_24_28 | rdata_value_24_29; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_25_15 = rdata_value_24_30 | rdata_value_24_31; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_0 = rdata_value_25_0 | rdata_value_25_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_1 = rdata_value_25_2 | rdata_value_25_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_2 = rdata_value_25_4 | rdata_value_25_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_3 = rdata_value_25_6 | rdata_value_25_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_4 = rdata_value_25_8 | rdata_value_25_9; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_5 = rdata_value_25_10 | rdata_value_25_11; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_6 = rdata_value_25_12 | rdata_value_25_13; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_26_7 = rdata_value_25_14 | rdata_value_25_15; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_27_0 = rdata_value_26_0 | rdata_value_26_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_27_1 = rdata_value_26_2 | rdata_value_26_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_27_2 = rdata_value_26_4 | rdata_value_26_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_27_3 = rdata_value_26_6 | rdata_value_26_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_28_0 = rdata_value_27_0 | rdata_value_27_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_28_1 = rdata_value_27_2 | rdata_value_27_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_29_0 = rdata_value_28_0 | rdata_value_28_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_24_0 = 5'h0 == io_freadAddr_4_addr ? data : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_1 = 5'h1 == io_freadAddr_4_addr ? data_1 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_2 = 5'h2 == io_freadAddr_4_addr ? data_2 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_3 = 5'h3 == io_freadAddr_4_addr ? data_3 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_4 = 5'h4 == io_freadAddr_4_addr ? data_4 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_5 = 5'h5 == io_freadAddr_4_addr ? data_5 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_6 = 5'h6 == io_freadAddr_4_addr ? data_6 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_7 = 5'h7 == io_freadAddr_4_addr ? data_7 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_8 = 5'h8 == io_freadAddr_4_addr ? data_8 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_9 = 5'h9 == io_freadAddr_4_addr ? data_9 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_10 = 5'ha == io_freadAddr_4_addr ? data_10 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_11 = 5'hb == io_freadAddr_4_addr ? data_11 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_12 = 5'hc == io_freadAddr_4_addr ? data_12 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_13 = 5'hd == io_freadAddr_4_addr ? data_13 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_14 = 5'he == io_freadAddr_4_addr ? data_14 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_15 = 5'hf == io_freadAddr_4_addr ? data_15 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_16 = 5'h10 == io_freadAddr_4_addr ? data_16 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_17 = 5'h11 == io_freadAddr_4_addr ? data_17 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_18 = 5'h12 == io_freadAddr_4_addr ? data_18 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_19 = 5'h13 == io_freadAddr_4_addr ? data_19 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_20 = 5'h14 == io_freadAddr_4_addr ? data_20 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_21 = 5'h15 == io_freadAddr_4_addr ? data_21 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_22 = 5'h16 == io_freadAddr_4_addr ? data_22 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_23 = 5'h17 == io_freadAddr_4_addr ? data_23 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_24 = 5'h18 == io_freadAddr_4_addr ? data_24 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_25 = 5'h19 == io_freadAddr_4_addr ? data_25 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_26 = 5'h1a == io_freadAddr_4_addr ? data_26 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_27 = 5'h1b == io_freadAddr_4_addr ? data_27 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_28 = 5'h1c == io_freadAddr_4_addr ? data_28 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_29 = 5'h1d == io_freadAddr_4_addr ? data_29 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_30 = 5'h1e == io_freadAddr_4_addr ? data_30 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_24_31 = 5'h1f == io_freadAddr_4_addr ? data_31 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_25_0 = wdata_value_24_0 | wdata_value_24_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_1 = wdata_value_24_2 | wdata_value_24_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_2 = wdata_value_24_4 | wdata_value_24_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_3 = wdata_value_24_6 | wdata_value_24_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_4 = wdata_value_24_8 | wdata_value_24_9; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_5 = wdata_value_24_10 | wdata_value_24_11; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_6 = wdata_value_24_12 | wdata_value_24_13; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_7 = wdata_value_24_14 | wdata_value_24_15; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_8 = wdata_value_24_16 | wdata_value_24_17; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_9 = wdata_value_24_18 | wdata_value_24_19; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_10 = wdata_value_24_20 | wdata_value_24_21; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_11 = wdata_value_24_22 | wdata_value_24_23; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_12 = wdata_value_24_24 | wdata_value_24_25; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_13 = wdata_value_24_26 | wdata_value_24_27; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_14 = wdata_value_24_28 | wdata_value_24_29; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_25_15 = wdata_value_24_30 | wdata_value_24_31; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_0 = wdata_value_25_0 | wdata_value_25_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_1 = wdata_value_25_2 | wdata_value_25_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_2 = wdata_value_25_4 | wdata_value_25_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_3 = wdata_value_25_6 | wdata_value_25_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_4 = wdata_value_25_8 | wdata_value_25_9; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_5 = wdata_value_25_10 | wdata_value_25_11; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_6 = wdata_value_25_12 | wdata_value_25_13; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_26_7 = wdata_value_25_14 | wdata_value_25_15; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_27_0 = wdata_value_26_0 | wdata_value_26_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_27_1 = wdata_value_26_2 | wdata_value_26_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_27_2 = wdata_value_26_4 | wdata_value_26_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_27_3 = wdata_value_26_6 | wdata_value_26_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_28_0 = wdata_value_27_0 | wdata_value_27_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_28_1 = wdata_value_27_2 | wdata_value_27_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_29_0 = wdata_value_28_0 | wdata_value_28_1; // @[Library.scala 115:37]
-  wire  write_value_30_0 = 5'h0 == io_freadAddr_5_addr & fwriteValid_0; // @[Library.scala 101:22]
-  wire  write_value_30_1 = 5'h1 == io_freadAddr_5_addr & fwriteValid_1; // @[Library.scala 101:22]
-  wire  write_value_30_2 = 5'h2 == io_freadAddr_5_addr & fwriteValid_2; // @[Library.scala 101:22]
-  wire  write_value_30_3 = 5'h3 == io_freadAddr_5_addr & fwriteValid_3; // @[Library.scala 101:22]
-  wire  write_value_30_4 = 5'h4 == io_freadAddr_5_addr & fwriteValid_4; // @[Library.scala 101:22]
-  wire  write_value_30_5 = 5'h5 == io_freadAddr_5_addr & fwriteValid_5; // @[Library.scala 101:22]
-  wire  write_value_30_6 = 5'h6 == io_freadAddr_5_addr & fwriteValid_6; // @[Library.scala 101:22]
-  wire  write_value_30_7 = 5'h7 == io_freadAddr_5_addr & fwriteValid_7; // @[Library.scala 101:22]
-  wire  write_value_30_8 = 5'h8 == io_freadAddr_5_addr & fwriteValid_8; // @[Library.scala 101:22]
-  wire  write_value_30_9 = 5'h9 == io_freadAddr_5_addr & fwriteValid_9; // @[Library.scala 101:22]
-  wire  write_value_30_10 = 5'ha == io_freadAddr_5_addr & fwriteValid_10; // @[Library.scala 101:22]
-  wire  write_value_30_11 = 5'hb == io_freadAddr_5_addr & fwriteValid_11; // @[Library.scala 101:22]
-  wire  write_value_30_12 = 5'hc == io_freadAddr_5_addr & fwriteValid_12; // @[Library.scala 101:22]
-  wire  write_value_30_13 = 5'hd == io_freadAddr_5_addr & fwriteValid_13; // @[Library.scala 101:22]
-  wire  write_value_30_14 = 5'he == io_freadAddr_5_addr & fwriteValid_14; // @[Library.scala 101:22]
-  wire  write_value_30_15 = 5'hf == io_freadAddr_5_addr & fwriteValid_15; // @[Library.scala 101:22]
-  wire  write_value_30_16 = 5'h10 == io_freadAddr_5_addr & fwriteValid_16; // @[Library.scala 101:22]
-  wire  write_value_30_17 = 5'h11 == io_freadAddr_5_addr & fwriteValid_17; // @[Library.scala 101:22]
-  wire  write_value_30_18 = 5'h12 == io_freadAddr_5_addr & fwriteValid_18; // @[Library.scala 101:22]
-  wire  write_value_30_19 = 5'h13 == io_freadAddr_5_addr & fwriteValid_19; // @[Library.scala 101:22]
-  wire  write_value_30_20 = 5'h14 == io_freadAddr_5_addr & fwriteValid_20; // @[Library.scala 101:22]
-  wire  write_value_30_21 = 5'h15 == io_freadAddr_5_addr & fwriteValid_21; // @[Library.scala 101:22]
-  wire  write_value_30_22 = 5'h16 == io_freadAddr_5_addr & fwriteValid_22; // @[Library.scala 101:22]
-  wire  write_value_30_23 = 5'h17 == io_freadAddr_5_addr & fwriteValid_23; // @[Library.scala 101:22]
-  wire  write_value_30_24 = 5'h18 == io_freadAddr_5_addr & fwriteValid_24; // @[Library.scala 101:22]
-  wire  write_value_30_25 = 5'h19 == io_freadAddr_5_addr & fwriteValid_25; // @[Library.scala 101:22]
-  wire  write_value_30_26 = 5'h1a == io_freadAddr_5_addr & fwriteValid_26; // @[Library.scala 101:22]
-  wire  write_value_30_27 = 5'h1b == io_freadAddr_5_addr & fwriteValid_27; // @[Library.scala 101:22]
-  wire  write_value_30_28 = 5'h1c == io_freadAddr_5_addr & fwriteValid_28; // @[Library.scala 101:22]
-  wire  write_value_30_29 = 5'h1d == io_freadAddr_5_addr & fwriteValid_29; // @[Library.scala 101:22]
-  wire  write_value_30_30 = 5'h1e == io_freadAddr_5_addr & fwriteValid_30; // @[Library.scala 101:22]
-  wire  write_value_30_31 = 5'h1f == io_freadAddr_5_addr & fwriteValid_31; // @[Library.scala 101:22]
-  wire  write_value_31_0 = write_value_30_0 | write_value_30_1; // @[Library.scala 115:37]
-  wire  write_value_31_1 = write_value_30_2 | write_value_30_3; // @[Library.scala 115:37]
-  wire  write_value_31_2 = write_value_30_4 | write_value_30_5; // @[Library.scala 115:37]
-  wire  write_value_31_3 = write_value_30_6 | write_value_30_7; // @[Library.scala 115:37]
-  wire  write_value_31_4 = write_value_30_8 | write_value_30_9; // @[Library.scala 115:37]
-  wire  write_value_31_5 = write_value_30_10 | write_value_30_11; // @[Library.scala 115:37]
-  wire  write_value_31_6 = write_value_30_12 | write_value_30_13; // @[Library.scala 115:37]
-  wire  write_value_31_7 = write_value_30_14 | write_value_30_15; // @[Library.scala 115:37]
-  wire  write_value_31_8 = write_value_30_16 | write_value_30_17; // @[Library.scala 115:37]
-  wire  write_value_31_9 = write_value_30_18 | write_value_30_19; // @[Library.scala 115:37]
-  wire  write_value_31_10 = write_value_30_20 | write_value_30_21; // @[Library.scala 115:37]
-  wire  write_value_31_11 = write_value_30_22 | write_value_30_23; // @[Library.scala 115:37]
-  wire  write_value_31_12 = write_value_30_24 | write_value_30_25; // @[Library.scala 115:37]
-  wire  write_value_31_13 = write_value_30_26 | write_value_30_27; // @[Library.scala 115:37]
-  wire  write_value_31_14 = write_value_30_28 | write_value_30_29; // @[Library.scala 115:37]
-  wire  write_value_31_15 = write_value_30_30 | write_value_30_31; // @[Library.scala 115:37]
-  wire  write_value_32_0 = write_value_31_0 | write_value_31_1; // @[Library.scala 115:37]
-  wire  write_value_32_1 = write_value_31_2 | write_value_31_3; // @[Library.scala 115:37]
-  wire  write_value_32_2 = write_value_31_4 | write_value_31_5; // @[Library.scala 115:37]
-  wire  write_value_32_3 = write_value_31_6 | write_value_31_7; // @[Library.scala 115:37]
-  wire  write_value_32_4 = write_value_31_8 | write_value_31_9; // @[Library.scala 115:37]
-  wire  write_value_32_5 = write_value_31_10 | write_value_31_11; // @[Library.scala 115:37]
-  wire  write_value_32_6 = write_value_31_12 | write_value_31_13; // @[Library.scala 115:37]
-  wire  write_value_32_7 = write_value_31_14 | write_value_31_15; // @[Library.scala 115:37]
-  wire  write_value_33_0 = write_value_32_0 | write_value_32_1; // @[Library.scala 115:37]
-  wire  write_value_33_1 = write_value_32_2 | write_value_32_3; // @[Library.scala 115:37]
-  wire  write_value_33_2 = write_value_32_4 | write_value_32_5; // @[Library.scala 115:37]
-  wire  write_value_33_3 = write_value_32_6 | write_value_32_7; // @[Library.scala 115:37]
-  wire  write_value_34_0 = write_value_33_0 | write_value_33_1; // @[Library.scala 115:37]
-  wire  write_value_34_1 = write_value_33_2 | write_value_33_3; // @[Library.scala 115:37]
-  wire  write_value_35_0 = write_value_34_0 | write_value_34_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_30_0 = 5'h0 == io_freadAddr_5_addr ? fregfile_0 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_1 = 5'h1 == io_freadAddr_5_addr ? fregfile_1 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_2 = 5'h2 == io_freadAddr_5_addr ? fregfile_2 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_3 = 5'h3 == io_freadAddr_5_addr ? fregfile_3 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_4 = 5'h4 == io_freadAddr_5_addr ? fregfile_4 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_5 = 5'h5 == io_freadAddr_5_addr ? fregfile_5 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_6 = 5'h6 == io_freadAddr_5_addr ? fregfile_6 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_7 = 5'h7 == io_freadAddr_5_addr ? fregfile_7 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_8 = 5'h8 == io_freadAddr_5_addr ? fregfile_8 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_9 = 5'h9 == io_freadAddr_5_addr ? fregfile_9 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_10 = 5'ha == io_freadAddr_5_addr ? fregfile_10 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_11 = 5'hb == io_freadAddr_5_addr ? fregfile_11 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_12 = 5'hc == io_freadAddr_5_addr ? fregfile_12 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_13 = 5'hd == io_freadAddr_5_addr ? fregfile_13 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_14 = 5'he == io_freadAddr_5_addr ? fregfile_14 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_15 = 5'hf == io_freadAddr_5_addr ? fregfile_15 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_16 = 5'h10 == io_freadAddr_5_addr ? fregfile_16 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_17 = 5'h11 == io_freadAddr_5_addr ? fregfile_17 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_18 = 5'h12 == io_freadAddr_5_addr ? fregfile_18 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_19 = 5'h13 == io_freadAddr_5_addr ? fregfile_19 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_20 = 5'h14 == io_freadAddr_5_addr ? fregfile_20 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_21 = 5'h15 == io_freadAddr_5_addr ? fregfile_21 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_22 = 5'h16 == io_freadAddr_5_addr ? fregfile_22 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_23 = 5'h17 == io_freadAddr_5_addr ? fregfile_23 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_24 = 5'h18 == io_freadAddr_5_addr ? fregfile_24 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_25 = 5'h19 == io_freadAddr_5_addr ? fregfile_25 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_26 = 5'h1a == io_freadAddr_5_addr ? fregfile_26 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_27 = 5'h1b == io_freadAddr_5_addr ? fregfile_27 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_28 = 5'h1c == io_freadAddr_5_addr ? fregfile_28 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_29 = 5'h1d == io_freadAddr_5_addr ? fregfile_29 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_30 = 5'h1e == io_freadAddr_5_addr ? fregfile_30 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_30_31 = 5'h1f == io_freadAddr_5_addr ? fregfile_31 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] rdata_value_31_0 = rdata_value_30_0 | rdata_value_30_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_1 = rdata_value_30_2 | rdata_value_30_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_2 = rdata_value_30_4 | rdata_value_30_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_3 = rdata_value_30_6 | rdata_value_30_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_4 = rdata_value_30_8 | rdata_value_30_9; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_5 = rdata_value_30_10 | rdata_value_30_11; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_6 = rdata_value_30_12 | rdata_value_30_13; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_7 = rdata_value_30_14 | rdata_value_30_15; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_8 = rdata_value_30_16 | rdata_value_30_17; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_9 = rdata_value_30_18 | rdata_value_30_19; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_10 = rdata_value_30_20 | rdata_value_30_21; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_11 = rdata_value_30_22 | rdata_value_30_23; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_12 = rdata_value_30_24 | rdata_value_30_25; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_13 = rdata_value_30_26 | rdata_value_30_27; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_14 = rdata_value_30_28 | rdata_value_30_29; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_31_15 = rdata_value_30_30 | rdata_value_30_31; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_0 = rdata_value_31_0 | rdata_value_31_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_1 = rdata_value_31_2 | rdata_value_31_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_2 = rdata_value_31_4 | rdata_value_31_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_3 = rdata_value_31_6 | rdata_value_31_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_4 = rdata_value_31_8 | rdata_value_31_9; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_5 = rdata_value_31_10 | rdata_value_31_11; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_6 = rdata_value_31_12 | rdata_value_31_13; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_32_7 = rdata_value_31_14 | rdata_value_31_15; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_33_0 = rdata_value_32_0 | rdata_value_32_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_33_1 = rdata_value_32_2 | rdata_value_32_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_33_2 = rdata_value_32_4 | rdata_value_32_5; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_33_3 = rdata_value_32_6 | rdata_value_32_7; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_34_0 = rdata_value_33_0 | rdata_value_33_1; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_34_1 = rdata_value_33_2 | rdata_value_33_3; // @[Library.scala 115:37]
-  wire [31:0] rdata_value_35_0 = rdata_value_34_0 | rdata_value_34_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_30_0 = 5'h0 == io_freadAddr_5_addr ? data : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_1 = 5'h1 == io_freadAddr_5_addr ? data_1 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_2 = 5'h2 == io_freadAddr_5_addr ? data_2 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_3 = 5'h3 == io_freadAddr_5_addr ? data_3 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_4 = 5'h4 == io_freadAddr_5_addr ? data_4 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_5 = 5'h5 == io_freadAddr_5_addr ? data_5 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_6 = 5'h6 == io_freadAddr_5_addr ? data_6 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_7 = 5'h7 == io_freadAddr_5_addr ? data_7 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_8 = 5'h8 == io_freadAddr_5_addr ? data_8 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_9 = 5'h9 == io_freadAddr_5_addr ? data_9 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_10 = 5'ha == io_freadAddr_5_addr ? data_10 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_11 = 5'hb == io_freadAddr_5_addr ? data_11 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_12 = 5'hc == io_freadAddr_5_addr ? data_12 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_13 = 5'hd == io_freadAddr_5_addr ? data_13 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_14 = 5'he == io_freadAddr_5_addr ? data_14 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_15 = 5'hf == io_freadAddr_5_addr ? data_15 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_16 = 5'h10 == io_freadAddr_5_addr ? data_16 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_17 = 5'h11 == io_freadAddr_5_addr ? data_17 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_18 = 5'h12 == io_freadAddr_5_addr ? data_18 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_19 = 5'h13 == io_freadAddr_5_addr ? data_19 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_20 = 5'h14 == io_freadAddr_5_addr ? data_20 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_21 = 5'h15 == io_freadAddr_5_addr ? data_21 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_22 = 5'h16 == io_freadAddr_5_addr ? data_22 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_23 = 5'h17 == io_freadAddr_5_addr ? data_23 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_24 = 5'h18 == io_freadAddr_5_addr ? data_24 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_25 = 5'h19 == io_freadAddr_5_addr ? data_25 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_26 = 5'h1a == io_freadAddr_5_addr ? data_26 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_27 = 5'h1b == io_freadAddr_5_addr ? data_27 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_28 = 5'h1c == io_freadAddr_5_addr ? data_28 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_29 = 5'h1d == io_freadAddr_5_addr ? data_29 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_30 = 5'h1e == io_freadAddr_5_addr ? data_30 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_30_31 = 5'h1f == io_freadAddr_5_addr ? data_31 : 32'h0; // @[Library.scala 101:22]
-  wire [31:0] wdata_value_31_0 = wdata_value_30_0 | wdata_value_30_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_1 = wdata_value_30_2 | wdata_value_30_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_2 = wdata_value_30_4 | wdata_value_30_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_3 = wdata_value_30_6 | wdata_value_30_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_4 = wdata_value_30_8 | wdata_value_30_9; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_5 = wdata_value_30_10 | wdata_value_30_11; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_6 = wdata_value_30_12 | wdata_value_30_13; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_7 = wdata_value_30_14 | wdata_value_30_15; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_8 = wdata_value_30_16 | wdata_value_30_17; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_9 = wdata_value_30_18 | wdata_value_30_19; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_10 = wdata_value_30_20 | wdata_value_30_21; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_11 = wdata_value_30_22 | wdata_value_30_23; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_12 = wdata_value_30_24 | wdata_value_30_25; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_13 = wdata_value_30_26 | wdata_value_30_27; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_14 = wdata_value_30_28 | wdata_value_30_29; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_31_15 = wdata_value_30_30 | wdata_value_30_31; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_0 = wdata_value_31_0 | wdata_value_31_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_1 = wdata_value_31_2 | wdata_value_31_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_2 = wdata_value_31_4 | wdata_value_31_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_3 = wdata_value_31_6 | wdata_value_31_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_4 = wdata_value_31_8 | wdata_value_31_9; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_5 = wdata_value_31_10 | wdata_value_31_11; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_6 = wdata_value_31_12 | wdata_value_31_13; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_32_7 = wdata_value_31_14 | wdata_value_31_15; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_33_0 = wdata_value_32_0 | wdata_value_32_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_33_1 = wdata_value_32_2 | wdata_value_32_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_33_2 = wdata_value_32_4 | wdata_value_32_5; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_33_3 = wdata_value_32_6 | wdata_value_32_7; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_34_0 = wdata_value_33_0 | wdata_value_33_1; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_34_1 = wdata_value_33_2 | wdata_value_33_3; // @[Library.scala 115:37]
-  wire [31:0] wdata_value_35_0 = wdata_value_34_0 | wdata_value_34_1; // @[Library.scala 115:37]
   reg  scoreboard_clr_error; // @[FRegfile.scala 136:37]
   reg  scoreboard_set_error; // @[FRegfile.scala 137:37]
   wire [31:0] _scoreboard_clr_error_T = scoreboard & scoreboard_clr; // @[FRegfile.scala 138:39]
@@ -24838,9 +24022,6 @@
   assign io_freadData_0_data = readDataBits_0; // @[FRegfile.scala 113:27]
   assign io_freadData_1_data = readDataBits_1; // @[FRegfile.scala 113:27]
   assign io_freadData_2_data = readDataBits_2; // @[FRegfile.scala 113:27]
-  assign io_freadData_3_data = readDataBits_3; // @[FRegfile.scala 113:27]
-  assign io_freadData_4_data = readDataBits_4; // @[FRegfile.scala 113:27]
-  assign io_freadData_5_data = readDataBits_5; // @[FRegfile.scala 113:27]
   assign io_fscoreboard = scoreboard & _scoreboard_T; // @[FRegfile.scala 75:32]
   always @(posedge clock) begin
     if (fwriteValid_0) begin // @[FRegfile.scala 102:27]
@@ -24960,27 +24141,6 @@
         readDataBits_2 <= rdata_value_17_0;
       end
     end
-    if (io_freadAddr_3_valid) begin // @[FRegfile.scala 126:18]
-      if (write_value_23_0) begin // @[FRegfile.scala 123:21]
-        readDataBits_3 <= wdata_value_23_0;
-      end else begin
-        readDataBits_3 <= rdata_value_23_0;
-      end
-    end
-    if (io_freadAddr_4_valid) begin // @[FRegfile.scala 126:18]
-      if (write_value_29_0) begin // @[FRegfile.scala 123:21]
-        readDataBits_4 <= wdata_value_29_0;
-      end else begin
-        readDataBits_4 <= rdata_value_29_0;
-      end
-    end
-    if (io_freadAddr_5_valid) begin // @[FRegfile.scala 126:18]
-      if (write_value_35_0) begin // @[FRegfile.scala 123:21]
-        readDataBits_5 <= wdata_value_35_0;
-      end else begin
-        readDataBits_5 <= rdata_value_35_0;
-      end
-    end
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
@@ -25860,15 +25020,9 @@
   _RAND_35 = {1{`RANDOM}};
   readDataBits_2 = _RAND_35[31:0];
   _RAND_36 = {1{`RANDOM}};
-  readDataBits_3 = _RAND_36[31:0];
+  scoreboard_clr_error = _RAND_36[0:0];
   _RAND_37 = {1{`RANDOM}};
-  readDataBits_4 = _RAND_37[31:0];
-  _RAND_38 = {1{`RANDOM}};
-  readDataBits_5 = _RAND_38[31:0];
-  _RAND_39 = {1{`RANDOM}};
-  scoreboard_clr_error = _RAND_39[0:0];
-  _RAND_40 = {1{`RANDOM}};
-  scoreboard_set_error = _RAND_40[0:0];
+  scoreboard_set_error = _RAND_37[0:0];
 `endif // RANDOMIZE_REG_INIT
   if (reset) begin
     scoreboard = 32'h0;
@@ -26521,7 +25675,7 @@
   input  [4:0]  io_in_addr,
   input  [31:0] io_in_fs1,
   input  [31:0] io_in_fs2,
-  input  [26:0] io_in_op,
+  input  [25:0] io_in_op,
   output        io_out_valid,
   output [4:0]  io_out_addr,
   output [31:0] io_out_fd
@@ -27547,7 +26701,7 @@
   input  [31:0] io_in_fs1,
   input  [31:0] io_in_fs2,
   input  [31:0] io_in_fs3,
-  input  [26:0] io_in_op,
+  input  [25:0] io_in_op,
   output        io_out_valid,
   output [4:0]  io_out_addr,
   output [31:0] io_out_fd
@@ -29511,15 +28665,9 @@
   input  [4:0]  io_req_0_raddr_1,
   input  [4:0]  io_req_0_raddr_2,
   input  [4:0]  io_req_0_waddr,
-  input  [26:0] io_req_0_op,
+  input  [25:0] io_req_0_op,
   output        io_req_0_busyFDiv,
   output        io_req_0_busyFSqrt,
-  input  [4:0]  io_req_1_raddr_1,
-  input  [26:0] io_req_1_op,
-  input  [4:0]  io_req_2_raddr_1,
-  input  [26:0] io_req_2_op,
-  input  [4:0]  io_req_3_raddr_1,
-  input  [26:0] io_req_3_op,
   output [31:0] io_fbusPort_data,
   input         io_fwriteData_valid,
   input  [4:0]  io_fwriteData_addr,
@@ -29531,10 +28679,6 @@
   output        io_writeData_1_valid,
   output [4:0]  io_writeData_1_addr,
   output [31:0] io_writeData_1_data,
-  output [31:0] io_fs_0_data,
-  output [31:0] io_fs_1_data,
-  output [31:0] io_fs_2_data,
-  output [31:0] io_fs_3_data,
   output [31:0] io_fscoreboard
 );
 `ifdef RANDOMIZE_REG_INIT
@@ -29554,21 +28698,12 @@
   wire [4:0] fregfile_io_freadAddr_1_addr; // @[FRegfile.scala 9:18]
   wire  fregfile_io_freadAddr_2_valid; // @[FRegfile.scala 9:18]
   wire [4:0] fregfile_io_freadAddr_2_addr; // @[FRegfile.scala 9:18]
-  wire  fregfile_io_freadAddr_3_valid; // @[FRegfile.scala 9:18]
-  wire [4:0] fregfile_io_freadAddr_3_addr; // @[FRegfile.scala 9:18]
-  wire  fregfile_io_freadAddr_4_valid; // @[FRegfile.scala 9:18]
-  wire [4:0] fregfile_io_freadAddr_4_addr; // @[FRegfile.scala 9:18]
-  wire  fregfile_io_freadAddr_5_valid; // @[FRegfile.scala 9:18]
-  wire [4:0] fregfile_io_freadAddr_5_addr; // @[FRegfile.scala 9:18]
   wire  fregfile_io_fwriteAddr_valid; // @[FRegfile.scala 9:18]
   wire [4:0] fregfile_io_fwriteAddr_addr; // @[FRegfile.scala 9:18]
   wire [31:0] fregfile_io_fbusPort_data; // @[FRegfile.scala 9:18]
   wire [31:0] fregfile_io_freadData_0_data; // @[FRegfile.scala 9:18]
   wire [31:0] fregfile_io_freadData_1_data; // @[FRegfile.scala 9:18]
   wire [31:0] fregfile_io_freadData_2_data; // @[FRegfile.scala 9:18]
-  wire [31:0] fregfile_io_freadData_3_data; // @[FRegfile.scala 9:18]
-  wire [31:0] fregfile_io_freadData_4_data; // @[FRegfile.scala 9:18]
-  wire [31:0] fregfile_io_freadData_5_data; // @[FRegfile.scala 9:18]
   wire  fregfile_io_fwriteData_0_valid; // @[FRegfile.scala 9:18]
   wire [4:0] fregfile_io_fwriteData_0_addr; // @[FRegfile.scala 9:18]
   wire [31:0] fregfile_io_fwriteData_0_data; // @[FRegfile.scala 9:18]
@@ -29594,7 +28729,7 @@
   wire [4:0] fadd_io_in_addr; // @[FAdd.scala 8:18]
   wire [31:0] fadd_io_in_fs1; // @[FAdd.scala 8:18]
   wire [31:0] fadd_io_in_fs2; // @[FAdd.scala 8:18]
-  wire [26:0] fadd_io_in_op; // @[FAdd.scala 8:18]
+  wire [25:0] fadd_io_in_op; // @[FAdd.scala 8:18]
   wire  fadd_io_out_valid; // @[FAdd.scala 8:18]
   wire [4:0] fadd_io_out_addr; // @[FAdd.scala 8:18]
   wire [31:0] fadd_io_out_fd; // @[FAdd.scala 8:18]
@@ -29605,7 +28740,7 @@
   wire [31:0] fmadd_io_in_fs1; // @[FMAdd.scala 8:18]
   wire [31:0] fmadd_io_in_fs2; // @[FMAdd.scala 8:18]
   wire [31:0] fmadd_io_in_fs3; // @[FMAdd.scala 8:18]
-  wire [26:0] fmadd_io_in_op; // @[FMAdd.scala 8:18]
+  wire [25:0] fmadd_io_in_op; // @[FMAdd.scala 8:18]
   wire  fmadd_io_out_valid; // @[FMAdd.scala 8:18]
   wire [4:0] fmadd_io_out_addr; // @[FMAdd.scala 8:18]
   wire [31:0] fmadd_io_out_fd; // @[FMAdd.scala 8:18]
@@ -29646,24 +28781,24 @@
   wire  fcvtws_io_out_valid; // @[FCvtws.scala 8:18]
   wire [4:0] fcvtws_io_out_addr; // @[FCvtws.scala 8:18]
   wire [31:0] fcvtws_io_out_rd; // @[FCvtws.scala 8:18]
-  reg  valid; // @[Fpu.scala 105:22]
-  reg [4:0] addr; // @[Fpu.scala 106:17]
-  reg [26:0] op; // @[Fpu.scala 107:19]
-  reg  wfvalid; // @[Fpu.scala 109:24]
-  reg  wrvalid; // @[Fpu.scala 110:24]
-  reg [4:0] waddr; // @[Fpu.scala 111:18]
-  reg [31:0] wdata; // @[Fpu.scala 112:18]
-  wire  fopA = io_req_0_op[22]; // @[Fpu.scala 128:26]
-  wire  fopB = io_req_0_op[1] | io_req_0_op[26]; // @[Fpu.scala 130:36]
-  wire  _fopAB_T_6 = io_req_0_op[6] | io_req_0_op[7] | io_req_0_op[8] | io_req_0_op[9]; // @[Fpu.scala 133:82]
-  wire  _fopAB_T_10 = _fopAB_T_6 | io_req_0_op[10] | io_req_0_op[14]; // @[Fpu.scala 134:57]
-  wire  _fopAB_T_14 = _fopAB_T_10 | io_req_0_op[15] | io_req_0_op[19]; // @[Fpu.scala 135:56]
-  wire  _fopAB_T_20 = _fopAB_T_14 | io_req_0_op[20] | io_req_0_op[21] | io_req_0_op[16]; // @[Fpu.scala 136:79]
-  wire  _fopAB_T_26 = _fopAB_T_20 | io_req_0_op[17] | io_req_0_op[18] | io_req_0_op[11]; // @[Fpu.scala 137:88]
-  wire  fopAB = _fopAB_T_26 | io_req_0_op[12] | io_req_0_op[13]; // @[Fpu.scala 138:59]
-  wire  _fopABC_T_4 = io_req_0_op[2] | io_req_0_op[3] | io_req_0_op[4]; // @[Fpu.scala 141:58]
-  wire  fopABC = _fopABC_T_4 | io_req_0_op[5]; // @[Fpu.scala 142:32]
-  wire  _fregfile_io_freadAddr_0_valid_T = fopABC | fopAB; // @[Fpu.scala 144:44]
+  reg  valid; // @[Fpu.scala 104:22]
+  reg [4:0] addr; // @[Fpu.scala 105:17]
+  reg [25:0] op; // @[Fpu.scala 106:19]
+  reg  wfvalid; // @[Fpu.scala 108:24]
+  reg  wrvalid; // @[Fpu.scala 109:24]
+  reg [4:0] waddr; // @[Fpu.scala 110:18]
+  reg [31:0] wdata; // @[Fpu.scala 111:18]
+  wire  fopA = io_req_0_op[22]; // @[Fpu.scala 127:26]
+  wire  fopB = io_req_0_op[1]; // @[Fpu.scala 129:26]
+  wire  _fopAB_T_6 = io_req_0_op[6] | io_req_0_op[7] | io_req_0_op[8] | io_req_0_op[9]; // @[Fpu.scala 132:82]
+  wire  _fopAB_T_10 = _fopAB_T_6 | io_req_0_op[10] | io_req_0_op[14]; // @[Fpu.scala 133:57]
+  wire  _fopAB_T_14 = _fopAB_T_10 | io_req_0_op[15] | io_req_0_op[19]; // @[Fpu.scala 134:56]
+  wire  _fopAB_T_20 = _fopAB_T_14 | io_req_0_op[20] | io_req_0_op[21] | io_req_0_op[16]; // @[Fpu.scala 135:79]
+  wire  _fopAB_T_26 = _fopAB_T_20 | io_req_0_op[17] | io_req_0_op[18] | io_req_0_op[11]; // @[Fpu.scala 136:88]
+  wire  fopAB = _fopAB_T_26 | io_req_0_op[12] | io_req_0_op[13]; // @[Fpu.scala 137:59]
+  wire  _fopABC_T_4 = io_req_0_op[2] | io_req_0_op[3] | io_req_0_op[4]; // @[Fpu.scala 140:58]
+  wire  fopABC = _fopABC_T_4 | io_req_0_op[5]; // @[Fpu.scala 141:32]
+  wire  _fregfile_io_freadAddr_0_valid_T = fopABC | fopAB; // @[Fpu.scala 143:44]
   wire  _fregfile_io_fwriteAddr_valid_T_6 = io_req_0_op[0] | io_req_0_op[2] | io_req_0_op[3] | io_req_0_op[4]; // @[Fpu.scala 178:84]
   wire  _fregfile_io_fwriteAddr_valid_T_10 = _fregfile_io_fwriteAddr_valid_T_6 | io_req_0_op[5] | io_req_0_op[6]; // @[Fpu.scala 179:61]
   wire  _fregfile_io_fwriteAddr_valid_T_16 = _fregfile_io_fwriteAddr_valid_T_10 | io_req_0_op[7] | io_req_0_op[8] |
@@ -29804,21 +28939,12 @@
     .io_freadAddr_1_addr(fregfile_io_freadAddr_1_addr),
     .io_freadAddr_2_valid(fregfile_io_freadAddr_2_valid),
     .io_freadAddr_2_addr(fregfile_io_freadAddr_2_addr),
-    .io_freadAddr_3_valid(fregfile_io_freadAddr_3_valid),
-    .io_freadAddr_3_addr(fregfile_io_freadAddr_3_addr),
-    .io_freadAddr_4_valid(fregfile_io_freadAddr_4_valid),
-    .io_freadAddr_4_addr(fregfile_io_freadAddr_4_addr),
-    .io_freadAddr_5_valid(fregfile_io_freadAddr_5_valid),
-    .io_freadAddr_5_addr(fregfile_io_freadAddr_5_addr),
     .io_fwriteAddr_valid(fregfile_io_fwriteAddr_valid),
     .io_fwriteAddr_addr(fregfile_io_fwriteAddr_addr),
     .io_fbusPort_data(fregfile_io_fbusPort_data),
     .io_freadData_0_data(fregfile_io_freadData_0_data),
     .io_freadData_1_data(fregfile_io_freadData_1_data),
     .io_freadData_2_data(fregfile_io_freadData_2_data),
-    .io_freadData_3_data(fregfile_io_freadData_3_data),
-    .io_freadData_4_data(fregfile_io_freadData_4_data),
-    .io_freadData_5_data(fregfile_io_freadData_5_data),
     .io_fwriteData_0_valid(fregfile_io_fwriteData_0_valid),
     .io_fwriteData_0_addr(fregfile_io_fwriteData_0_addr),
     .io_fwriteData_0_data(fregfile_io_fwriteData_0_data),
@@ -29918,25 +29044,15 @@
   assign io_writeData_1_valid = fcvtws_io_out_valid; // @[Fpu.scala 284:25]
   assign io_writeData_1_addr = fcvtws_io_out_addr; // @[Fpu.scala 285:25]
   assign io_writeData_1_data = fcvtws_io_out_rd; // @[Fpu.scala 286:25]
-  assign io_fs_0_data = fregfile_io_freadData_1_data; // @[Fpu.scala 171:12]
-  assign io_fs_1_data = fregfile_io_freadData_3_data; // @[Fpu.scala 172:12]
-  assign io_fs_2_data = fregfile_io_freadData_4_data; // @[Fpu.scala 173:12]
-  assign io_fs_3_data = fregfile_io_freadData_5_data; // @[Fpu.scala 174:12]
   assign io_fscoreboard = fregfile_io_fscoreboard; // @[Fpu.scala 296:18]
   assign fregfile_clock = clock;
   assign fregfile_reset = reset;
-  assign fregfile_io_freadAddr_0_valid = fopABC | fopAB | fopA; // @[Fpu.scala 144:53]
-  assign fregfile_io_freadAddr_0_addr = io_req_0_raddr_0; // @[Fpu.scala 148:33]
-  assign fregfile_io_freadAddr_1_valid = _fregfile_io_freadAddr_0_valid_T | fopB; // @[Fpu.scala 145:53]
-  assign fregfile_io_freadAddr_1_addr = io_req_0_raddr_1; // @[Fpu.scala 149:33]
-  assign fregfile_io_freadAddr_2_valid = _fopABC_T_4 | io_req_0_op[5]; // @[Fpu.scala 142:32]
-  assign fregfile_io_freadAddr_2_addr = io_req_0_raddr_2; // @[Fpu.scala 150:33]
-  assign fregfile_io_freadAddr_3_valid = io_req_1_op[26]; // @[Fpu.scala 152:49]
-  assign fregfile_io_freadAddr_3_addr = io_req_1_raddr_1; // @[Fpu.scala 156:33]
-  assign fregfile_io_freadAddr_4_valid = io_req_2_op[26]; // @[Fpu.scala 153:49]
-  assign fregfile_io_freadAddr_4_addr = io_req_2_raddr_1; // @[Fpu.scala 157:33]
-  assign fregfile_io_freadAddr_5_valid = io_req_3_op[26]; // @[Fpu.scala 154:49]
-  assign fregfile_io_freadAddr_5_addr = io_req_3_raddr_1; // @[Fpu.scala 158:33]
+  assign fregfile_io_freadAddr_0_valid = fopABC | fopAB | fopA; // @[Fpu.scala 143:53]
+  assign fregfile_io_freadAddr_0_addr = io_req_0_raddr_0; // @[Fpu.scala 147:33]
+  assign fregfile_io_freadAddr_1_valid = _fregfile_io_freadAddr_0_valid_T | fopB; // @[Fpu.scala 144:53]
+  assign fregfile_io_freadAddr_1_addr = io_req_0_raddr_1; // @[Fpu.scala 148:33]
+  assign fregfile_io_freadAddr_2_valid = _fopABC_T_4 | io_req_0_op[5]; // @[Fpu.scala 141:32]
+  assign fregfile_io_freadAddr_2_addr = io_req_0_raddr_2; // @[Fpu.scala 149:33]
   assign fregfile_io_fwriteAddr_valid = io_req_0_valid & _fregfile_io_fwriteAddr_valid_T_34; // @[Fpu.scala 177:51]
   assign fregfile_io_fwriteAddr_addr = io_req_0_waddr; // @[Fpu.scala 185:31]
   assign fregfile_io_fwriteData_0_valid = wfvalid; // @[Fpu.scala 187:35]
@@ -30102,16 +29218,16 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[Fpu.scala 105:22]
-      valid <= 1'h0; // @[Fpu.scala 105:22]
+    if (reset) begin // @[Fpu.scala 104:22]
+      valid <= 1'h0; // @[Fpu.scala 104:22]
     end else begin
       valid <= io_req_0_valid; // @[Fpu.scala 160:9]
     end
   end
   always @(posedge clock or posedge reset) begin
     if (reset) begin // @[Fpu.scala 162:26]
-      op <= 27'h0; // @[Fpu.scala 164:8]
-    end else if (io_req_0_valid) begin // @[Fpu.scala 107:19]
+      op <= 26'h0; // @[Fpu.scala 164:8]
+    end else if (io_req_0_valid) begin // @[Fpu.scala 106:19]
       op <= io_req_0_op;
     end
   end
@@ -30170,7 +29286,7 @@
   _RAND_1 = {1{`RANDOM}};
   addr = _RAND_1[4:0];
   _RAND_2 = {1{`RANDOM}};
-  op = _RAND_2[26:0];
+  op = _RAND_2[25:0];
   _RAND_3 = {1{`RANDOM}};
   wfvalid = _RAND_3[0:0];
   _RAND_4 = {1{`RANDOM}};
@@ -30184,7 +29300,7 @@
     valid = 1'h0;
   end
   if (reset) begin
-    op = 27'h0;
+    op = 26'h0;
   end
   if (reset) begin
     wfvalid = 1'h0;
@@ -30230,22 +29346,22 @@
   input          io_vcore_vinst_0_ready,
   output [4:0]   io_vcore_vinst_0_addr,
   output [31:0]  io_vcore_vinst_0_inst,
-  output [5:0]   io_vcore_vinst_0_op,
+  output [4:0]   io_vcore_vinst_0_op,
   output         io_vcore_vinst_1_valid,
   input          io_vcore_vinst_1_ready,
   output [4:0]   io_vcore_vinst_1_addr,
   output [31:0]  io_vcore_vinst_1_inst,
-  output [5:0]   io_vcore_vinst_1_op,
+  output [4:0]   io_vcore_vinst_1_op,
   output         io_vcore_vinst_2_valid,
   input          io_vcore_vinst_2_ready,
   output [4:0]   io_vcore_vinst_2_addr,
   output [31:0]  io_vcore_vinst_2_inst,
-  output [5:0]   io_vcore_vinst_2_op,
+  output [4:0]   io_vcore_vinst_2_op,
   output         io_vcore_vinst_3_valid,
   input          io_vcore_vinst_3_ready,
   output [4:0]   io_vcore_vinst_3_addr,
   output [31:0]  io_vcore_vinst_3_inst,
-  output [5:0]   io_vcore_vinst_3_op,
+  output [4:0]   io_vcore_vinst_3_op,
   output [31:0]  io_vcore_rs_0_data,
   output [31:0]  io_vcore_rs_1_data,
   output [31:0]  io_vcore_rs_2_data,
@@ -30266,10 +29382,6 @@
   input          io_vcore_rd_3_valid,
   input  [4:0]   io_vcore_rd_3_addr,
   input  [31:0]  io_vcore_rd_3_data,
-  output [31:0]  io_vcore_fs_0_data,
-  output [31:0]  io_vcore_fs_1_data,
-  output [31:0]  io_vcore_fs_2_data,
-  output [31:0]  io_vcore_fs_3_data,
   input          io_vcore_mactive,
   input          io_vcore_undef,
   output         io_iflush_valid,
@@ -30461,7 +29573,7 @@
   wire [31:0] decode_0_io_busRead_immed; // @[Decode.scala 9:18]
   wire  decode_0_io_alu_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_0_io_alu_addr; // @[Decode.scala 9:18]
-  wire [18:0] decode_0_io_alu_op; // @[Decode.scala 9:18]
+  wire [17:0] decode_0_io_alu_op; // @[Decode.scala 9:18]
   wire  decode_0_io_bru_valid; // @[Decode.scala 9:18]
   wire  decode_0_io_bru_fwd; // @[Decode.scala 9:18]
   wire [16:0] decode_0_io_bru_op; // @[Decode.scala 9:18]
@@ -30488,14 +29600,14 @@
   wire [4:0] decode_0_io_fpu_raddr_1; // @[Decode.scala 9:18]
   wire [4:0] decode_0_io_fpu_raddr_2; // @[Decode.scala 9:18]
   wire [4:0] decode_0_io_fpu_waddr; // @[Decode.scala 9:18]
-  wire [26:0] decode_0_io_fpu_op; // @[Decode.scala 9:18]
+  wire [25:0] decode_0_io_fpu_op; // @[Decode.scala 9:18]
   wire  decode_0_io_fpu_busyFDiv; // @[Decode.scala 9:18]
   wire  decode_0_io_fpu_busyFSqrt; // @[Decode.scala 9:18]
   wire  decode_0_io_vinst_valid; // @[Decode.scala 9:18]
   wire  decode_0_io_vinst_ready; // @[Decode.scala 9:18]
   wire [4:0] decode_0_io_vinst_addr; // @[Decode.scala 9:18]
   wire [31:0] decode_0_io_vinst_inst; // @[Decode.scala 9:18]
-  wire [5:0] decode_0_io_vinst_op; // @[Decode.scala 9:18]
+  wire [4:0] decode_0_io_vinst_op; // @[Decode.scala 9:18]
   wire  decode_0_io_branchTaken; // @[Decode.scala 9:18]
   wire  decode_0_io_interlock; // @[Decode.scala 9:18]
   wire  decode_0_io_serializeOut_mul; // @[Decode.scala 9:18]
@@ -30513,7 +29625,6 @@
   wire [31:0] decode_1_io_scoreboard_regd; // @[Decode.scala 9:18]
   wire [31:0] decode_1_io_scoreboard_comb; // @[Decode.scala 9:18]
   wire [31:0] decode_1_io_scoreboard_spec; // @[Decode.scala 9:18]
-  wire [31:0] decode_1_io_fscoreboard; // @[Decode.scala 9:18]
   wire  decode_1_io_rs1Read_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_1_io_rs1Read_addr; // @[Decode.scala 9:18]
   wire  decode_1_io_rs1Set_valid; // @[Decode.scala 9:18]
@@ -30528,7 +29639,7 @@
   wire [31:0] decode_1_io_busRead_immed; // @[Decode.scala 9:18]
   wire  decode_1_io_alu_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_1_io_alu_addr; // @[Decode.scala 9:18]
-  wire [18:0] decode_1_io_alu_op; // @[Decode.scala 9:18]
+  wire [17:0] decode_1_io_alu_op; // @[Decode.scala 9:18]
   wire  decode_1_io_bru_valid; // @[Decode.scala 9:18]
   wire  decode_1_io_bru_fwd; // @[Decode.scala 9:18]
   wire [16:0] decode_1_io_bru_op; // @[Decode.scala 9:18]
@@ -30544,13 +29655,11 @@
   wire [4:0] decode_1_io_mlu_addr; // @[Decode.scala 9:18]
   wire [8:0] decode_1_io_mlu_op; // @[Decode.scala 9:18]
   wire [3:0] decode_1_io_dvu_op; // @[Decode.scala 9:18]
-  wire [4:0] decode_1_io_fpu_raddr_1; // @[Decode.scala 9:18]
-  wire [26:0] decode_1_io_fpu_op; // @[Decode.scala 9:18]
   wire  decode_1_io_vinst_valid; // @[Decode.scala 9:18]
   wire  decode_1_io_vinst_ready; // @[Decode.scala 9:18]
   wire [4:0] decode_1_io_vinst_addr; // @[Decode.scala 9:18]
   wire [31:0] decode_1_io_vinst_inst; // @[Decode.scala 9:18]
-  wire [5:0] decode_1_io_vinst_op; // @[Decode.scala 9:18]
+  wire [4:0] decode_1_io_vinst_op; // @[Decode.scala 9:18]
   wire  decode_1_io_branchTaken; // @[Decode.scala 9:18]
   wire  decode_1_io_interlock; // @[Decode.scala 9:18]
   wire  decode_1_io_serializeIn_mul; // @[Decode.scala 9:18]
@@ -30570,7 +29679,6 @@
   wire [31:0] decode_2_io_scoreboard_regd; // @[Decode.scala 9:18]
   wire [31:0] decode_2_io_scoreboard_comb; // @[Decode.scala 9:18]
   wire [31:0] decode_2_io_scoreboard_spec; // @[Decode.scala 9:18]
-  wire [31:0] decode_2_io_fscoreboard; // @[Decode.scala 9:18]
   wire  decode_2_io_rs1Read_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_2_io_rs1Read_addr; // @[Decode.scala 9:18]
   wire  decode_2_io_rs1Set_valid; // @[Decode.scala 9:18]
@@ -30585,7 +29693,7 @@
   wire [31:0] decode_2_io_busRead_immed; // @[Decode.scala 9:18]
   wire  decode_2_io_alu_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_2_io_alu_addr; // @[Decode.scala 9:18]
-  wire [18:0] decode_2_io_alu_op; // @[Decode.scala 9:18]
+  wire [17:0] decode_2_io_alu_op; // @[Decode.scala 9:18]
   wire  decode_2_io_bru_valid; // @[Decode.scala 9:18]
   wire  decode_2_io_bru_fwd; // @[Decode.scala 9:18]
   wire [16:0] decode_2_io_bru_op; // @[Decode.scala 9:18]
@@ -30601,13 +29709,11 @@
   wire [4:0] decode_2_io_mlu_addr; // @[Decode.scala 9:18]
   wire [8:0] decode_2_io_mlu_op; // @[Decode.scala 9:18]
   wire [3:0] decode_2_io_dvu_op; // @[Decode.scala 9:18]
-  wire [4:0] decode_2_io_fpu_raddr_1; // @[Decode.scala 9:18]
-  wire [26:0] decode_2_io_fpu_op; // @[Decode.scala 9:18]
   wire  decode_2_io_vinst_valid; // @[Decode.scala 9:18]
   wire  decode_2_io_vinst_ready; // @[Decode.scala 9:18]
   wire [4:0] decode_2_io_vinst_addr; // @[Decode.scala 9:18]
   wire [31:0] decode_2_io_vinst_inst; // @[Decode.scala 9:18]
-  wire [5:0] decode_2_io_vinst_op; // @[Decode.scala 9:18]
+  wire [4:0] decode_2_io_vinst_op; // @[Decode.scala 9:18]
   wire  decode_2_io_branchTaken; // @[Decode.scala 9:18]
   wire  decode_2_io_interlock; // @[Decode.scala 9:18]
   wire  decode_2_io_serializeIn_mul; // @[Decode.scala 9:18]
@@ -30626,7 +29732,6 @@
   wire  decode_3_io_inst_brchFwd; // @[Decode.scala 9:18]
   wire [31:0] decode_3_io_scoreboard_regd; // @[Decode.scala 9:18]
   wire [31:0] decode_3_io_scoreboard_comb; // @[Decode.scala 9:18]
-  wire [31:0] decode_3_io_fscoreboard; // @[Decode.scala 9:18]
   wire  decode_3_io_rs1Read_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_3_io_rs1Read_addr; // @[Decode.scala 9:18]
   wire  decode_3_io_rs1Set_valid; // @[Decode.scala 9:18]
@@ -30641,7 +29746,7 @@
   wire [31:0] decode_3_io_busRead_immed; // @[Decode.scala 9:18]
   wire  decode_3_io_alu_valid; // @[Decode.scala 9:18]
   wire [4:0] decode_3_io_alu_addr; // @[Decode.scala 9:18]
-  wire [18:0] decode_3_io_alu_op; // @[Decode.scala 9:18]
+  wire [17:0] decode_3_io_alu_op; // @[Decode.scala 9:18]
   wire  decode_3_io_bru_valid; // @[Decode.scala 9:18]
   wire  decode_3_io_bru_fwd; // @[Decode.scala 9:18]
   wire [16:0] decode_3_io_bru_op; // @[Decode.scala 9:18]
@@ -30657,13 +29762,11 @@
   wire [4:0] decode_3_io_mlu_addr; // @[Decode.scala 9:18]
   wire [8:0] decode_3_io_mlu_op; // @[Decode.scala 9:18]
   wire [3:0] decode_3_io_dvu_op; // @[Decode.scala 9:18]
-  wire [4:0] decode_3_io_fpu_raddr_1; // @[Decode.scala 9:18]
-  wire [26:0] decode_3_io_fpu_op; // @[Decode.scala 9:18]
   wire  decode_3_io_vinst_valid; // @[Decode.scala 9:18]
   wire  decode_3_io_vinst_ready; // @[Decode.scala 9:18]
   wire [4:0] decode_3_io_vinst_addr; // @[Decode.scala 9:18]
   wire [31:0] decode_3_io_vinst_inst; // @[Decode.scala 9:18]
-  wire [5:0] decode_3_io_vinst_op; // @[Decode.scala 9:18]
+  wire [4:0] decode_3_io_vinst_op; // @[Decode.scala 9:18]
   wire  decode_3_io_branchTaken; // @[Decode.scala 9:18]
   wire  decode_3_io_interlock; // @[Decode.scala 9:18]
   wire  decode_3_io_serializeIn_mul; // @[Decode.scala 9:18]
@@ -30673,7 +29776,7 @@
   wire  alu_0_reset; // @[Alu.scala 9:18]
   wire  alu_0_io_req_valid; // @[Alu.scala 9:18]
   wire [4:0] alu_0_io_req_addr; // @[Alu.scala 9:18]
-  wire [18:0] alu_0_io_req_op; // @[Alu.scala 9:18]
+  wire [17:0] alu_0_io_req_op; // @[Alu.scala 9:18]
   wire  alu_0_io_rs1_valid; // @[Alu.scala 9:18]
   wire [31:0] alu_0_io_rs1_data; // @[Alu.scala 9:18]
   wire  alu_0_io_rs2_valid; // @[Alu.scala 9:18]
@@ -30685,7 +29788,7 @@
   wire  alu_1_reset; // @[Alu.scala 9:18]
   wire  alu_1_io_req_valid; // @[Alu.scala 9:18]
   wire [4:0] alu_1_io_req_addr; // @[Alu.scala 9:18]
-  wire [18:0] alu_1_io_req_op; // @[Alu.scala 9:18]
+  wire [17:0] alu_1_io_req_op; // @[Alu.scala 9:18]
   wire  alu_1_io_rs1_valid; // @[Alu.scala 9:18]
   wire [31:0] alu_1_io_rs1_data; // @[Alu.scala 9:18]
   wire  alu_1_io_rs2_valid; // @[Alu.scala 9:18]
@@ -30697,7 +29800,7 @@
   wire  alu_2_reset; // @[Alu.scala 9:18]
   wire  alu_2_io_req_valid; // @[Alu.scala 9:18]
   wire [4:0] alu_2_io_req_addr; // @[Alu.scala 9:18]
-  wire [18:0] alu_2_io_req_op; // @[Alu.scala 9:18]
+  wire [17:0] alu_2_io_req_op; // @[Alu.scala 9:18]
   wire  alu_2_io_rs1_valid; // @[Alu.scala 9:18]
   wire [31:0] alu_2_io_rs1_data; // @[Alu.scala 9:18]
   wire  alu_2_io_rs2_valid; // @[Alu.scala 9:18]
@@ -30709,7 +29812,7 @@
   wire  alu_3_reset; // @[Alu.scala 9:18]
   wire  alu_3_io_req_valid; // @[Alu.scala 9:18]
   wire [4:0] alu_3_io_req_addr; // @[Alu.scala 9:18]
-  wire [18:0] alu_3_io_req_op; // @[Alu.scala 9:18]
+  wire [17:0] alu_3_io_req_op; // @[Alu.scala 9:18]
   wire  alu_3_io_rs1_valid; // @[Alu.scala 9:18]
   wire [31:0] alu_3_io_rs1_data; // @[Alu.scala 9:18]
   wire  alu_3_io_rs2_valid; // @[Alu.scala 9:18]
@@ -30983,15 +30086,9 @@
   wire [4:0] fpu_io_req_0_raddr_1; // @[Fpu.scala 8:18]
   wire [4:0] fpu_io_req_0_raddr_2; // @[Fpu.scala 8:18]
   wire [4:0] fpu_io_req_0_waddr; // @[Fpu.scala 8:18]
-  wire [26:0] fpu_io_req_0_op; // @[Fpu.scala 8:18]
+  wire [25:0] fpu_io_req_0_op; // @[Fpu.scala 8:18]
   wire  fpu_io_req_0_busyFDiv; // @[Fpu.scala 8:18]
   wire  fpu_io_req_0_busyFSqrt; // @[Fpu.scala 8:18]
-  wire [4:0] fpu_io_req_1_raddr_1; // @[Fpu.scala 8:18]
-  wire [26:0] fpu_io_req_1_op; // @[Fpu.scala 8:18]
-  wire [4:0] fpu_io_req_2_raddr_1; // @[Fpu.scala 8:18]
-  wire [26:0] fpu_io_req_2_op; // @[Fpu.scala 8:18]
-  wire [4:0] fpu_io_req_3_raddr_1; // @[Fpu.scala 8:18]
-  wire [26:0] fpu_io_req_3_op; // @[Fpu.scala 8:18]
   wire [31:0] fpu_io_fbusPort_data; // @[Fpu.scala 8:18]
   wire  fpu_io_fwriteData_valid; // @[Fpu.scala 8:18]
   wire [4:0] fpu_io_fwriteData_addr; // @[Fpu.scala 8:18]
@@ -31003,10 +30100,6 @@
   wire  fpu_io_writeData_1_valid; // @[Fpu.scala 8:18]
   wire [4:0] fpu_io_writeData_1_addr; // @[Fpu.scala 8:18]
   wire [31:0] fpu_io_writeData_1_data; // @[Fpu.scala 8:18]
-  wire [31:0] fpu_io_fs_0_data; // @[Fpu.scala 8:18]
-  wire [31:0] fpu_io_fs_1_data; // @[Fpu.scala 8:18]
-  wire [31:0] fpu_io_fs_2_data; // @[Fpu.scala 8:18]
-  wire [31:0] fpu_io_fs_3_data; // @[Fpu.scala 8:18]
   wire [31:0] fpu_io_fscoreboard; // @[Fpu.scala 8:18]
   wire  _branchTaken_T_1 = bru_0_io_taken_valid | bru_1_io_taken_valid | bru_2_io_taken_valid; // @[SCore.scala 46:68]
   reg  iflush; // @[SCore.scala 51:23]
@@ -31023,9 +30116,6 @@
   wire  interlockPipe2 = interlockPipe2Reg[0]; // @[SCore.scala 116:41]
   wire [31:0] scoreboard_spec2 = decode_1_io_scoreboard_spec | decode_0_io_scoreboard_spec; // @[SCore.scala 132:55]
   wire [31:0] scoreboard_spec3 = decode_2_io_scoreboard_spec | scoreboard_spec2; // @[SCore.scala 133:55]
-  wire [4:0] fwriteMask_shiftAmount = decode_0_io_fpu_waddr; // @[OneHot.scala 63:49]
-  wire [31:0] _fwriteMask_T = 32'h1 << fwriteMask_shiftAmount; // @[OneHot.scala 64:12]
-  wire [31:0] fwriteMask = decode_0_io_fpu_valid ? _fwriteMask_T : 32'h0; // @[Library.scala 8:8]
   reg  mluInvalidate; // @[SCore.scala 226:30]
   wire  _regfile_io_writeData_0_valid_T_2 = csr_io_rd_valid | alu_0_io_rd_valid; // @[SCore.scala 263:74]
   wire [4:0] _regfile_io_writeData_0_addr_T = csr_io_rd_valid ? csr_io_rd_addr : 5'h0; // @[Library.scala 8:8]
@@ -31345,7 +30435,6 @@
     .io_scoreboard_regd(decode_1_io_scoreboard_regd),
     .io_scoreboard_comb(decode_1_io_scoreboard_comb),
     .io_scoreboard_spec(decode_1_io_scoreboard_spec),
-    .io_fscoreboard(decode_1_io_fscoreboard),
     .io_rs1Read_valid(decode_1_io_rs1Read_valid),
     .io_rs1Read_addr(decode_1_io_rs1Read_addr),
     .io_rs1Set_valid(decode_1_io_rs1Set_valid),
@@ -31376,8 +30465,6 @@
     .io_mlu_addr(decode_1_io_mlu_addr),
     .io_mlu_op(decode_1_io_mlu_op),
     .io_dvu_op(decode_1_io_dvu_op),
-    .io_fpu_raddr_1(decode_1_io_fpu_raddr_1),
-    .io_fpu_op(decode_1_io_fpu_op),
     .io_vinst_valid(decode_1_io_vinst_valid),
     .io_vinst_ready(decode_1_io_vinst_ready),
     .io_vinst_addr(decode_1_io_vinst_addr),
@@ -31404,7 +30491,6 @@
     .io_scoreboard_regd(decode_2_io_scoreboard_regd),
     .io_scoreboard_comb(decode_2_io_scoreboard_comb),
     .io_scoreboard_spec(decode_2_io_scoreboard_spec),
-    .io_fscoreboard(decode_2_io_fscoreboard),
     .io_rs1Read_valid(decode_2_io_rs1Read_valid),
     .io_rs1Read_addr(decode_2_io_rs1Read_addr),
     .io_rs1Set_valid(decode_2_io_rs1Set_valid),
@@ -31435,8 +30521,6 @@
     .io_mlu_addr(decode_2_io_mlu_addr),
     .io_mlu_op(decode_2_io_mlu_op),
     .io_dvu_op(decode_2_io_dvu_op),
-    .io_fpu_raddr_1(decode_2_io_fpu_raddr_1),
-    .io_fpu_op(decode_2_io_fpu_op),
     .io_vinst_valid(decode_2_io_vinst_valid),
     .io_vinst_ready(decode_2_io_vinst_ready),
     .io_vinst_addr(decode_2_io_vinst_addr),
@@ -31462,7 +30546,6 @@
     .io_inst_brchFwd(decode_3_io_inst_brchFwd),
     .io_scoreboard_regd(decode_3_io_scoreboard_regd),
     .io_scoreboard_comb(decode_3_io_scoreboard_comb),
-    .io_fscoreboard(decode_3_io_fscoreboard),
     .io_rs1Read_valid(decode_3_io_rs1Read_valid),
     .io_rs1Read_addr(decode_3_io_rs1Read_addr),
     .io_rs1Set_valid(decode_3_io_rs1Set_valid),
@@ -31493,8 +30576,6 @@
     .io_mlu_addr(decode_3_io_mlu_addr),
     .io_mlu_op(decode_3_io_mlu_op),
     .io_dvu_op(decode_3_io_dvu_op),
-    .io_fpu_raddr_1(decode_3_io_fpu_raddr_1),
-    .io_fpu_op(decode_3_io_fpu_op),
     .io_vinst_valid(decode_3_io_vinst_valid),
     .io_vinst_ready(decode_3_io_vinst_ready),
     .io_vinst_addr(decode_3_io_vinst_addr),
@@ -31848,12 +30929,6 @@
     .io_req_0_op(fpu_io_req_0_op),
     .io_req_0_busyFDiv(fpu_io_req_0_busyFDiv),
     .io_req_0_busyFSqrt(fpu_io_req_0_busyFSqrt),
-    .io_req_1_raddr_1(fpu_io_req_1_raddr_1),
-    .io_req_1_op(fpu_io_req_1_op),
-    .io_req_2_raddr_1(fpu_io_req_2_raddr_1),
-    .io_req_2_op(fpu_io_req_2_op),
-    .io_req_3_raddr_1(fpu_io_req_3_raddr_1),
-    .io_req_3_op(fpu_io_req_3_op),
     .io_fbusPort_data(fpu_io_fbusPort_data),
     .io_fwriteData_valid(fpu_io_fwriteData_valid),
     .io_fwriteData_addr(fpu_io_fwriteData_addr),
@@ -31865,10 +30940,6 @@
     .io_writeData_1_valid(fpu_io_writeData_1_valid),
     .io_writeData_1_addr(fpu_io_writeData_1_addr),
     .io_writeData_1_data(fpu_io_writeData_1_data),
-    .io_fs_0_data(fpu_io_fs_0_data),
-    .io_fs_1_data(fpu_io_fs_1_data),
-    .io_fs_2_data(fpu_io_fs_2_data),
-    .io_fs_3_data(fpu_io_fs_3_data),
     .io_fscoreboard(fpu_io_fscoreboard)
   );
   assign io_halted = csr_io_halted; // @[SCore.scala 194:13]
@@ -31912,10 +30983,6 @@
   assign io_vcore_rs_5_data = regfile_io_readData_5_data; // @[SCore.scala 329:20]
   assign io_vcore_rs_6_data = regfile_io_readData_6_data; // @[SCore.scala 329:20]
   assign io_vcore_rs_7_data = regfile_io_readData_7_data; // @[SCore.scala 329:20]
-  assign io_vcore_fs_0_data = fpu_io_fs_0_data; // @[SCore.scala 333:20]
-  assign io_vcore_fs_1_data = fpu_io_fs_1_data; // @[SCore.scala 333:20]
-  assign io_vcore_fs_2_data = fpu_io_fs_2_data; // @[SCore.scala 333:20]
-  assign io_vcore_fs_3_data = fpu_io_fs_3_data; // @[SCore.scala 333:20]
   assign io_iflush_valid = iflush; // @[SCore.scala 181:19]
   assign io_dflush_valid = lsu_io_flush_valid; // @[SCore.scala 60:19]
   assign io_dflush_all = lsu_io_flush_all; // @[SCore.scala 61:19]
@@ -32043,7 +31110,6 @@
   assign decode_1_io_inst_brchFwd = fetch_io_inst_lanes_1_brchFwd; // @[SCore.scala 94:31]
   assign decode_1_io_scoreboard_regd = regfile_io_scoreboard_regd | decode_0_io_scoreboard_spec; // @[SCore.scala 141:62]
   assign decode_1_io_scoreboard_comb = regfile_io_scoreboard_comb | decode_0_io_scoreboard_spec; // @[SCore.scala 140:62]
-  assign decode_1_io_fscoreboard = fpu_io_fscoreboard | fwriteMask; // @[SCore.scala 150:50]
   assign decode_1_io_lsu_ready = lsu_io_req_1_ready; // @[SCore.scala 207:28]
   assign decode_1_io_vinst_ready = io_vcore_vinst_1_ready; // @[SCore.scala 325:23]
   assign decode_1_io_branchTaken = _branchTaken_T_1 | bru_3_io_taken_valid; // @[SCore.scala 47:43]
@@ -32060,7 +31126,6 @@
   assign decode_2_io_inst_brchFwd = fetch_io_inst_lanes_2_brchFwd; // @[SCore.scala 94:31]
   assign decode_2_io_scoreboard_regd = regfile_io_scoreboard_regd | scoreboard_spec2; // @[SCore.scala 143:62]
   assign decode_2_io_scoreboard_comb = regfile_io_scoreboard_comb | scoreboard_spec2; // @[SCore.scala 142:62]
-  assign decode_2_io_fscoreboard = fpu_io_fscoreboard | fwriteMask; // @[SCore.scala 151:50]
   assign decode_2_io_lsu_ready = lsu_io_req_2_ready; // @[SCore.scala 207:28]
   assign decode_2_io_vinst_ready = io_vcore_vinst_2_ready; // @[SCore.scala 325:23]
   assign decode_2_io_branchTaken = _branchTaken_T_1 | bru_3_io_taken_valid; // @[SCore.scala 47:43]
@@ -32077,7 +31142,6 @@
   assign decode_3_io_inst_brchFwd = fetch_io_inst_lanes_3_brchFwd; // @[SCore.scala 94:31]
   assign decode_3_io_scoreboard_regd = regfile_io_scoreboard_regd | scoreboard_spec3; // @[SCore.scala 145:62]
   assign decode_3_io_scoreboard_comb = regfile_io_scoreboard_comb | scoreboard_spec3; // @[SCore.scala 144:62]
-  assign decode_3_io_fscoreboard = fpu_io_fscoreboard | fwriteMask; // @[SCore.scala 152:50]
   assign decode_3_io_lsu_ready = lsu_io_req_3_ready; // @[SCore.scala 207:28]
   assign decode_3_io_vinst_ready = io_vcore_vinst_3_ready; // @[SCore.scala 325:23]
   assign decode_3_io_branchTaken = _branchTaken_T_1 | bru_3_io_taken_valid; // @[SCore.scala 47:43]
@@ -32279,12 +31343,6 @@
   assign fpu_io_req_0_raddr_2 = decode_0_io_fpu_raddr_2; // @[SCore.scala 308:17]
   assign fpu_io_req_0_waddr = decode_0_io_fpu_waddr; // @[SCore.scala 308:17]
   assign fpu_io_req_0_op = decode_0_io_fpu_op; // @[SCore.scala 308:17]
-  assign fpu_io_req_1_raddr_1 = decode_1_io_fpu_raddr_1; // @[SCore.scala 309:17]
-  assign fpu_io_req_1_op = decode_1_io_fpu_op; // @[SCore.scala 309:17]
-  assign fpu_io_req_2_raddr_1 = decode_2_io_fpu_raddr_1; // @[SCore.scala 310:17]
-  assign fpu_io_req_2_op = decode_2_io_fpu_op; // @[SCore.scala 310:17]
-  assign fpu_io_req_3_raddr_1 = decode_3_io_fpu_raddr_1; // @[SCore.scala 311:17]
-  assign fpu_io_req_3_op = decode_3_io_fpu_op; // @[SCore.scala 311:17]
   assign fpu_io_fwriteData_valid = lsu_io_fd_valid; // @[SCore.scala 313:21]
   assign fpu_io_fwriteData_addr = lsu_io_fd_addr; // @[SCore.scala 313:21]
   assign fpu_io_fwriteData_data = lsu_io_fd_data; // @[SCore.scala 313:21]
@@ -32990,22 +32048,22 @@
   output        io_in_0_ready,
   input  [4:0]  io_in_0_addr,
   input  [31:0] io_in_0_inst,
-  input  [5:0]  io_in_0_op,
+  input  [4:0]  io_in_0_op,
   input         io_in_1_valid,
   output        io_in_1_ready,
   input  [4:0]  io_in_1_addr,
   input  [31:0] io_in_1_inst,
-  input  [5:0]  io_in_1_op,
+  input  [4:0]  io_in_1_op,
   input         io_in_2_valid,
   output        io_in_2_ready,
   input  [4:0]  io_in_2_addr,
   input  [31:0] io_in_2_inst,
-  input  [5:0]  io_in_2_op,
+  input  [4:0]  io_in_2_op,
   input         io_in_3_valid,
   output        io_in_3_ready,
   input  [4:0]  io_in_3_addr,
   input  [31:0] io_in_3_inst,
-  input  [5:0]  io_in_3_op,
+  input  [4:0]  io_in_3_op,
   input  [31:0] io_rs_0_data,
   input  [31:0] io_rs_1_data,
   input  [31:0] io_rs_2_data,
@@ -33026,10 +32084,6 @@
   output        io_rd_3_valid,
   output [4:0]  io_rd_3_addr,
   output [31:0] io_rd_3_data,
-  input  [31:0] io_fs_0_data,
-  input  [31:0] io_fs_1_data,
-  input  [31:0] io_fs_2_data,
-  input  [31:0] io_fs_3_data,
   output        io_out_valid,
   input         io_out_ready,
   input         io_out_stall,
@@ -33086,10 +32140,6 @@
   reg [31:0] _RAND_31;
   reg [31:0] _RAND_32;
   reg [31:0] _RAND_33;
-  reg [31:0] _RAND_34;
-  reg [31:0] _RAND_35;
-  reg [31:0] _RAND_36;
-  reg [31:0] _RAND_37;
 `endif // RANDOMIZE_REG_INIT
   wire  slice_clock; // @[Slice.scala 9:11]
   wire  slice_reset; // @[Slice.scala 9:11]
@@ -33129,157 +32179,149 @@
   wire [31:0] slice_io_out_bits_3_lane_bits_inst; // @[Slice.scala 9:11]
   wire [31:0] slice_io_out_bits_3_lane_bits_addr; // @[Slice.scala 9:11]
   wire [31:0] slice_io_out_bits_3_lane_bits_data; // @[Slice.scala 9:11]
-  wire  _T_2 = ~reset; // @[VInst.scala 78:9]
-  wire  reqvalid_0 = io_in_0_valid & io_in_0_ready; // @[VInst.scala 86:41]
-  wire  reqvalid_1 = io_in_1_valid & io_in_1_ready; // @[VInst.scala 87:41]
-  wire  reqvalid_2 = io_in_2_valid & io_in_2_ready; // @[VInst.scala 88:41]
-  wire  reqvalid_3 = io_in_3_valid & io_in_3_ready; // @[VInst.scala 89:41]
-  reg  vld_u_0; // @[VInst.scala 105:22]
-  reg  vld_u_1; // @[VInst.scala 105:22]
-  reg  vld_u_2; // @[VInst.scala 105:22]
-  reg  vld_u_3; // @[VInst.scala 105:22]
-  reg  vst_u_0; // @[VInst.scala 107:22]
-  reg  vst_u_1; // @[VInst.scala 107:22]
-  reg  vst_u_2; // @[VInst.scala 107:22]
-  reg  vst_u_3; // @[VInst.scala 107:22]
-  reg  vst_q_0; // @[VInst.scala 108:22]
-  reg  vst_q_1; // @[VInst.scala 108:22]
-  reg  vst_q_2; // @[VInst.scala 108:22]
-  reg  vst_q_3; // @[VInst.scala 108:22]
-  reg  vfop_0; // @[VInst.scala 109:22]
-  reg  vfop_1; // @[VInst.scala 109:22]
-  reg  vfop_2; // @[VInst.scala 109:22]
-  reg  vfop_3; // @[VInst.scala 109:22]
-  reg  getvl_0; // @[VInst.scala 110:22]
-  reg  getvl_1; // @[VInst.scala 110:22]
-  reg  getvl_2; // @[VInst.scala 110:22]
-  reg  getvl_3; // @[VInst.scala 110:22]
-  reg  getmaxvl_0; // @[VInst.scala 111:25]
-  reg  getmaxvl_1; // @[VInst.scala 111:25]
-  reg  getmaxvl_2; // @[VInst.scala 111:25]
-  reg  getmaxvl_3; // @[VInst.scala 111:25]
-  reg [4:0] rdAddr_0; // @[VInst.scala 113:19]
-  reg [4:0] rdAddr_1; // @[VInst.scala 113:19]
-  reg [4:0] rdAddr_2; // @[VInst.scala 113:19]
-  reg [4:0] rdAddr_3; // @[VInst.scala 113:19]
-  reg  vvalid; // @[VInst.scala 123:23]
-  reg  vinstValid_0; // @[VInst.scala 124:23]
-  reg  vinstValid_1; // @[VInst.scala 124:23]
-  reg  vinstValid_2; // @[VInst.scala 124:23]
-  reg  vinstValid_3; // @[VInst.scala 124:23]
-  reg [31:0] vinstInst_0; // @[VInst.scala 125:22]
-  reg [31:0] vinstInst_1; // @[VInst.scala 125:22]
-  reg [31:0] vinstInst_2; // @[VInst.scala 125:22]
-  reg [31:0] vinstInst_3; // @[VInst.scala 125:22]
-  wire  _nxtVinstValid_1_T_2 = io_in_1_op[2] | io_in_1_op[3]; // @[VInst.scala 131:64]
-  wire  _nxtVinstValid_1_T_4 = _nxtVinstValid_1_T_2 | io_in_1_op[4]; // @[VInst.scala 132:64]
-  wire  _nxtVinstValid_1_T_6 = _nxtVinstValid_1_T_4 | io_in_1_op[5]; // @[VInst.scala 133:65]
-  wire  nxtVinstValid_1 = reqvalid_1 & _nxtVinstValid_1_T_6; // @[VInst.scala 131:37]
-  wire  _nxtVinstValid_0_T_2 = io_in_0_op[2] | io_in_0_op[3]; // @[VInst.scala 131:64]
-  wire  _nxtVinstValid_0_T_4 = _nxtVinstValid_0_T_2 | io_in_0_op[4]; // @[VInst.scala 132:64]
-  wire  _nxtVinstValid_0_T_6 = _nxtVinstValid_0_T_4 | io_in_0_op[5]; // @[VInst.scala 133:65]
-  wire  nxtVinstValid_0 = reqvalid_0 & _nxtVinstValid_0_T_6; // @[VInst.scala 131:37]
-  wire  _nxtVinstValid_3_T_2 = io_in_3_op[2] | io_in_3_op[3]; // @[VInst.scala 131:64]
-  wire  _nxtVinstValid_3_T_4 = _nxtVinstValid_3_T_2 | io_in_3_op[4]; // @[VInst.scala 132:64]
-  wire  _nxtVinstValid_3_T_6 = _nxtVinstValid_3_T_4 | io_in_3_op[5]; // @[VInst.scala 133:65]
-  wire  nxtVinstValid_3 = reqvalid_3 & _nxtVinstValid_3_T_6; // @[VInst.scala 131:37]
-  wire  _nxtVinstValid_2_T_2 = io_in_2_op[2] | io_in_2_op[3]; // @[VInst.scala 131:64]
-  wire  _nxtVinstValid_2_T_4 = _nxtVinstValid_2_T_2 | io_in_2_op[4]; // @[VInst.scala 132:64]
-  wire  _nxtVinstValid_2_T_6 = _nxtVinstValid_2_T_4 | io_in_2_op[5]; // @[VInst.scala 133:65]
-  wire  nxtVinstValid_2 = reqvalid_2 & _nxtVinstValid_2_T_6; // @[VInst.scala 131:37]
-  wire [3:0] _vvalid_T = {nxtVinstValid_3,nxtVinstValid_2,nxtVinstValid_1,nxtVinstValid_0}; // @[VInst.scala 128:27]
-  wire  p = io_in_0_inst[28]; // @[VInst.scala 140:26]
-  wire  q = io_in_0_inst[30]; // @[VInst.scala 141:26]
-  wire  _vld_o_0_T_1 = reqvalid_0 & io_in_0_op[2]; // @[VInst.scala 142:29]
-  wire  _vst_o_0_T_1 = reqvalid_0 & io_in_0_op[3]; // @[VInst.scala 144:29]
-  wire  _vst_u_0_T_2 = _vst_o_0_T_1 & p; // @[VInst.scala 145:55]
-  wire  p_1 = io_in_1_inst[28]; // @[VInst.scala 140:26]
-  wire  q_1 = io_in_1_inst[30]; // @[VInst.scala 141:26]
-  wire  _vld_o_1_T_1 = reqvalid_1 & io_in_1_op[2]; // @[VInst.scala 142:29]
-  wire  _vst_o_1_T_1 = reqvalid_1 & io_in_1_op[3]; // @[VInst.scala 144:29]
-  wire  _vst_u_1_T_2 = _vst_o_1_T_1 & p_1; // @[VInst.scala 145:55]
-  wire  p_2 = io_in_2_inst[28]; // @[VInst.scala 140:26]
-  wire  q_2 = io_in_2_inst[30]; // @[VInst.scala 141:26]
-  wire  _vld_o_2_T_1 = reqvalid_2 & io_in_2_op[2]; // @[VInst.scala 142:29]
-  wire  _vst_o_2_T_1 = reqvalid_2 & io_in_2_op[3]; // @[VInst.scala 144:29]
-  wire  _vst_u_2_T_2 = _vst_o_2_T_1 & p_2; // @[VInst.scala 145:55]
-  wire  p_3 = io_in_3_inst[28]; // @[VInst.scala 140:26]
-  wire  q_3 = io_in_3_inst[30]; // @[VInst.scala 141:26]
-  wire  _vld_o_3_T_1 = reqvalid_3 & io_in_3_op[2]; // @[VInst.scala 142:29]
-  wire  _vst_o_3_T_1 = reqvalid_3 & io_in_3_op[3]; // @[VInst.scala 144:29]
-  wire  _vst_u_3_T_2 = _vst_o_3_T_1 & p_3; // @[VInst.scala 145:55]
-  wire  m = vinstInst_0[5]; // @[VInst.scala 161:26]
-  wire [1:0] sz = vinstInst_0[13:12]; // @[VInst.scala 162:26]
-  wire [1:0] sl = vinstInst_0[27:26]; // @[VInst.scala 163:26]
-  wire  q_4 = vinstInst_0[30]; // @[VInst.scala 164:26]
-  wire  xs2zero = vinstInst_0[24:20] == 5'h0; // @[VInst.scala 166:39]
-  wire  _max_T = sz == 2'h0; // @[VInst.scala 168:24]
-  wire  _max_T_1 = ~m; // @[VInst.scala 168:35]
-  wire  _max_T_2 = sz == 2'h0 & ~m; // @[VInst.scala 168:32]
+  wire  _T_2 = ~reset; // @[VInst.scala 77:9]
+  wire  reqvalid_0 = io_in_0_valid & io_in_0_ready; // @[VInst.scala 85:41]
+  wire  reqvalid_1 = io_in_1_valid & io_in_1_ready; // @[VInst.scala 86:41]
+  wire  reqvalid_2 = io_in_2_valid & io_in_2_ready; // @[VInst.scala 87:41]
+  wire  reqvalid_3 = io_in_3_valid & io_in_3_ready; // @[VInst.scala 88:41]
+  reg  vld_u_0; // @[VInst.scala 104:22]
+  reg  vld_u_1; // @[VInst.scala 104:22]
+  reg  vld_u_2; // @[VInst.scala 104:22]
+  reg  vld_u_3; // @[VInst.scala 104:22]
+  reg  vst_u_0; // @[VInst.scala 106:22]
+  reg  vst_u_1; // @[VInst.scala 106:22]
+  reg  vst_u_2; // @[VInst.scala 106:22]
+  reg  vst_u_3; // @[VInst.scala 106:22]
+  reg  vst_q_0; // @[VInst.scala 107:22]
+  reg  vst_q_1; // @[VInst.scala 107:22]
+  reg  vst_q_2; // @[VInst.scala 107:22]
+  reg  vst_q_3; // @[VInst.scala 107:22]
+  reg  getvl_0; // @[VInst.scala 108:22]
+  reg  getvl_1; // @[VInst.scala 108:22]
+  reg  getvl_2; // @[VInst.scala 108:22]
+  reg  getvl_3; // @[VInst.scala 108:22]
+  reg  getmaxvl_0; // @[VInst.scala 109:25]
+  reg  getmaxvl_1; // @[VInst.scala 109:25]
+  reg  getmaxvl_2; // @[VInst.scala 109:25]
+  reg  getmaxvl_3; // @[VInst.scala 109:25]
+  reg [4:0] rdAddr_0; // @[VInst.scala 111:19]
+  reg [4:0] rdAddr_1; // @[VInst.scala 111:19]
+  reg [4:0] rdAddr_2; // @[VInst.scala 111:19]
+  reg [4:0] rdAddr_3; // @[VInst.scala 111:19]
+  reg  vvalid; // @[VInst.scala 121:23]
+  reg  vinstValid_0; // @[VInst.scala 122:23]
+  reg  vinstValid_1; // @[VInst.scala 122:23]
+  reg  vinstValid_2; // @[VInst.scala 122:23]
+  reg  vinstValid_3; // @[VInst.scala 122:23]
+  reg [31:0] vinstInst_0; // @[VInst.scala 123:22]
+  reg [31:0] vinstInst_1; // @[VInst.scala 123:22]
+  reg [31:0] vinstInst_2; // @[VInst.scala 123:22]
+  reg [31:0] vinstInst_3; // @[VInst.scala 123:22]
+  wire  _nxtVinstValid_1_T_2 = io_in_1_op[2] | io_in_1_op[3]; // @[VInst.scala 129:64]
+  wire  _nxtVinstValid_1_T_4 = _nxtVinstValid_1_T_2 | io_in_1_op[4]; // @[VInst.scala 130:64]
+  wire  nxtVinstValid_1 = reqvalid_1 & _nxtVinstValid_1_T_4; // @[VInst.scala 129:37]
+  wire  _nxtVinstValid_0_T_2 = io_in_0_op[2] | io_in_0_op[3]; // @[VInst.scala 129:64]
+  wire  _nxtVinstValid_0_T_4 = _nxtVinstValid_0_T_2 | io_in_0_op[4]; // @[VInst.scala 130:64]
+  wire  nxtVinstValid_0 = reqvalid_0 & _nxtVinstValid_0_T_4; // @[VInst.scala 129:37]
+  wire  _nxtVinstValid_3_T_2 = io_in_3_op[2] | io_in_3_op[3]; // @[VInst.scala 129:64]
+  wire  _nxtVinstValid_3_T_4 = _nxtVinstValid_3_T_2 | io_in_3_op[4]; // @[VInst.scala 130:64]
+  wire  nxtVinstValid_3 = reqvalid_3 & _nxtVinstValid_3_T_4; // @[VInst.scala 129:37]
+  wire  _nxtVinstValid_2_T_2 = io_in_2_op[2] | io_in_2_op[3]; // @[VInst.scala 129:64]
+  wire  _nxtVinstValid_2_T_4 = _nxtVinstValid_2_T_2 | io_in_2_op[4]; // @[VInst.scala 130:64]
+  wire  nxtVinstValid_2 = reqvalid_2 & _nxtVinstValid_2_T_4; // @[VInst.scala 129:37]
+  wire [3:0] _vvalid_T = {nxtVinstValid_3,nxtVinstValid_2,nxtVinstValid_1,nxtVinstValid_0}; // @[VInst.scala 126:27]
+  wire  p = io_in_0_inst[28]; // @[VInst.scala 137:26]
+  wire  q = io_in_0_inst[30]; // @[VInst.scala 138:26]
+  wire  _vld_o_0_T_1 = reqvalid_0 & io_in_0_op[2]; // @[VInst.scala 139:29]
+  wire  _vst_o_0_T_1 = reqvalid_0 & io_in_0_op[3]; // @[VInst.scala 141:29]
+  wire  _vst_u_0_T_2 = _vst_o_0_T_1 & p; // @[VInst.scala 142:55]
+  wire  p_1 = io_in_1_inst[28]; // @[VInst.scala 137:26]
+  wire  q_1 = io_in_1_inst[30]; // @[VInst.scala 138:26]
+  wire  _vld_o_1_T_1 = reqvalid_1 & io_in_1_op[2]; // @[VInst.scala 139:29]
+  wire  _vst_o_1_T_1 = reqvalid_1 & io_in_1_op[3]; // @[VInst.scala 141:29]
+  wire  _vst_u_1_T_2 = _vst_o_1_T_1 & p_1; // @[VInst.scala 142:55]
+  wire  p_2 = io_in_2_inst[28]; // @[VInst.scala 137:26]
+  wire  q_2 = io_in_2_inst[30]; // @[VInst.scala 138:26]
+  wire  _vld_o_2_T_1 = reqvalid_2 & io_in_2_op[2]; // @[VInst.scala 139:29]
+  wire  _vst_o_2_T_1 = reqvalid_2 & io_in_2_op[3]; // @[VInst.scala 141:29]
+  wire  _vst_u_2_T_2 = _vst_o_2_T_1 & p_2; // @[VInst.scala 142:55]
+  wire  p_3 = io_in_3_inst[28]; // @[VInst.scala 137:26]
+  wire  q_3 = io_in_3_inst[30]; // @[VInst.scala 138:26]
+  wire  _vld_o_3_T_1 = reqvalid_3 & io_in_3_op[2]; // @[VInst.scala 139:29]
+  wire  _vst_o_3_T_1 = reqvalid_3 & io_in_3_op[3]; // @[VInst.scala 141:29]
+  wire  _vst_u_3_T_2 = _vst_o_3_T_1 & p_3; // @[VInst.scala 142:55]
+  wire  m = vinstInst_0[5]; // @[VInst.scala 157:26]
+  wire [1:0] sz = vinstInst_0[13:12]; // @[VInst.scala 158:26]
+  wire [1:0] sl = vinstInst_0[27:26]; // @[VInst.scala 159:26]
+  wire  q_4 = vinstInst_0[30]; // @[VInst.scala 160:26]
+  wire  xs2zero = vinstInst_0[24:20] == 5'h0; // @[VInst.scala 162:39]
+  wire  _max_T = sz == 2'h0; // @[VInst.scala 164:24]
+  wire  _max_T_1 = ~m; // @[VInst.scala 164:35]
+  wire  _max_T_2 = sz == 2'h0 & ~m; // @[VInst.scala 164:32]
   wire [7:0] _max_T_3 = _max_T_2 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _max_T_4 = sz == 2'h1; // @[VInst.scala 169:24]
-  wire  _max_T_6 = sz == 2'h1 & _max_T_1; // @[VInst.scala 169:32]
+  wire  _max_T_4 = sz == 2'h1; // @[VInst.scala 165:24]
+  wire  _max_T_6 = sz == 2'h1 & _max_T_1; // @[VInst.scala 165:32]
   wire [7:0] _max_T_7 = _max_T_6 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_8 = _max_T_3 | _max_T_7; // @[VInst.scala 168:47]
-  wire  _max_T_9 = sz == 2'h2; // @[VInst.scala 170:24]
-  wire  _max_T_11 = sz == 2'h2 & _max_T_1; // @[VInst.scala 170:32]
+  wire [7:0] _max_T_8 = _max_T_3 | _max_T_7; // @[VInst.scala 164:47]
+  wire  _max_T_9 = sz == 2'h2; // @[VInst.scala 166:24]
+  wire  _max_T_11 = sz == 2'h2 & _max_T_1; // @[VInst.scala 166:32]
   wire [7:0] _max_T_12 = _max_T_11 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_13 = _max_T_8 | _max_T_12; // @[VInst.scala 169:47]
-  wire  _max_T_15 = _max_T & m; // @[VInst.scala 171:32]
+  wire [7:0] _max_T_13 = _max_T_8 | _max_T_12; // @[VInst.scala 165:47]
+  wire  _max_T_15 = _max_T & m; // @[VInst.scala 167:32]
   wire [7:0] _max_T_16 = _max_T_15 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_17 = _max_T_13 | _max_T_16; // @[VInst.scala 170:47]
-  wire  _max_T_19 = _max_T_4 & m; // @[VInst.scala 172:32]
+  wire [7:0] _max_T_17 = _max_T_13 | _max_T_16; // @[VInst.scala 166:47]
+  wire  _max_T_19 = _max_T_4 & m; // @[VInst.scala 168:32]
   wire [7:0] _max_T_20 = _max_T_19 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_21 = _max_T_17 | _max_T_20; // @[VInst.scala 171:47]
-  wire  _max_T_23 = _max_T_9 & m; // @[VInst.scala 173:32]
+  wire [7:0] _max_T_21 = _max_T_17 | _max_T_20; // @[VInst.scala 167:47]
+  wire  _max_T_23 = _max_T_9 & m; // @[VInst.scala 169:32]
   wire [7:0] _max_T_24 = _max_T_23 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] max = _max_T_21 | _max_T_24; // @[VInst.scala 172:47]
-  wire [31:0] _GEN_12 = {{24'd0}, max}; // @[VInst.scala 175:25]
-  wire [31:0] cmp = io_rs_1_data < _GEN_12 ? io_rs_1_data : {{24'd0}, max}; // @[VInst.scala 175:18]
-  wire  _bytes_T_2 = _max_T & sl[0]; // @[VInst.scala 177:35]
+  wire [7:0] max = _max_T_21 | _max_T_24; // @[VInst.scala 168:47]
+  wire [31:0] _GEN_12 = {{24'd0}, max}; // @[VInst.scala 171:25]
+  wire [31:0] cmp = io_rs_1_data < _GEN_12 ? io_rs_1_data : {{24'd0}, max}; // @[VInst.scala 171:18]
+  wire  _bytes_T_2 = _max_T & sl[0]; // @[VInst.scala 173:35]
   wire [31:0] _bytes_T_3 = _bytes_T_2 ? cmp : 32'h0; // @[Library.scala 8:8]
-  wire  _bytes_T_6 = _max_T_4 & sl[0]; // @[VInst.scala 178:35]
+  wire  _bytes_T_6 = _max_T_4 & sl[0]; // @[VInst.scala 174:35]
   wire [32:0] _bytes_T_7 = {cmp,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _bytes_T_8 = _bytes_T_6 ? _bytes_T_7 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_13 = {{1'd0}, _bytes_T_3}; // @[VInst.scala 177:50]
-  wire [32:0] _bytes_T_9 = _GEN_13 | _bytes_T_8; // @[VInst.scala 177:50]
-  wire  _bytes_T_12 = _max_T_9 & sl[0]; // @[VInst.scala 179:35]
+  wire [32:0] _GEN_13 = {{1'd0}, _bytes_T_3}; // @[VInst.scala 173:50]
+  wire [32:0] _bytes_T_9 = _GEN_13 | _bytes_T_8; // @[VInst.scala 173:50]
+  wire  _bytes_T_12 = _max_T_9 & sl[0]; // @[VInst.scala 175:35]
   wire [33:0] _bytes_T_13 = {cmp,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _bytes_T_14 = _bytes_T_12 ? _bytes_T_13 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_14 = {{1'd0}, _bytes_T_9}; // @[VInst.scala 178:65]
-  wire [33:0] _bytes_T_15 = _GEN_14 | _bytes_T_14; // @[VInst.scala 178:65]
-  wire  _bytes_T_17 = ~sl[0]; // @[VInst.scala 180:24]
-  wire  _bytes_T_19 = ~sl[0] & _max_T_1; // @[VInst.scala 180:31]
+  wire [33:0] _GEN_14 = {{1'd0}, _bytes_T_9}; // @[VInst.scala 174:65]
+  wire [33:0] _bytes_T_15 = _GEN_14 | _bytes_T_14; // @[VInst.scala 174:65]
+  wire  _bytes_T_17 = ~sl[0]; // @[VInst.scala 176:24]
+  wire  _bytes_T_19 = ~sl[0] & _max_T_1; // @[VInst.scala 176:31]
   wire [7:0] _bytes_T_20 = _bytes_T_19 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_15 = {{26'd0}, _bytes_T_20}; // @[VInst.scala 179:65]
-  wire [33:0] _bytes_T_21 = _bytes_T_15 | _GEN_15; // @[VInst.scala 179:65]
-  wire  _bytes_T_24 = _bytes_T_17 & m; // @[VInst.scala 181:31]
+  wire [33:0] _GEN_15 = {{26'd0}, _bytes_T_20}; // @[VInst.scala 175:65]
+  wire [33:0] _bytes_T_21 = _bytes_T_15 | _GEN_15; // @[VInst.scala 175:65]
+  wire  _bytes_T_24 = _bytes_T_17 & m; // @[VInst.scala 177:31]
   wire [7:0] _bytes_T_25 = _bytes_T_24 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_16 = {{26'd0}, _bytes_T_25}; // @[VInst.scala 180:46]
-  wire [33:0] _bytes_T_26 = _bytes_T_21 | _GEN_16; // @[VInst.scala 180:46]
-  wire [31:0] bytes = _bytes_T_26[31:0]; // @[VInst.scala 182:18]
+  wire [33:0] _GEN_16 = {{26'd0}, _bytes_T_25}; // @[VInst.scala 176:46]
+  wire [33:0] _bytes_T_26 = _bytes_T_21 | _GEN_16; // @[VInst.scala 176:46]
+  wire [31:0] bytes = _bytes_T_26[31:0]; // @[VInst.scala 178:18]
   wire [31:0] _rt_T_1 = _max_T ? io_rs_1_data : 32'h0; // @[Library.scala 8:8]
   wire [32:0] _rt_T_3 = {io_rs_1_data,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _rt_T_4 = _max_T_4 ? _rt_T_3 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_17 = {{1'd0}, _rt_T_1}; // @[VInst.scala 185:38]
-  wire [32:0] _rt_T_5 = _GEN_17 | _rt_T_4; // @[VInst.scala 185:38]
+  wire [32:0] _GEN_17 = {{1'd0}, _rt_T_1}; // @[VInst.scala 181:38]
+  wire [32:0] _rt_T_5 = _GEN_17 | _rt_T_4; // @[VInst.scala 181:38]
   wire [33:0] _rt_T_7 = {io_rs_1_data,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _rt_T_8 = _max_T_9 ? _rt_T_7 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_18 = {{1'd0}, _rt_T_5}; // @[VInst.scala 186:53]
-  wire [33:0] _rt_T_9 = _GEN_18 | _rt_T_8; // @[VInst.scala 186:53]
-  wire [31:0] rt = _rt_T_9[31:0]; // @[VInst.scala 188:15]
+  wire [33:0] _GEN_18 = {{1'd0}, _rt_T_5}; // @[VInst.scala 182:53]
+  wire [33:0] _rt_T_9 = _GEN_18 | _rt_T_8; // @[VInst.scala 182:53]
+  wire [31:0] rt = _rt_T_9[31:0]; // @[VInst.scala 184:15]
   wire [33:0] _rtm_T = {rt,2'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtm = _rtm_T[31:0]; // @[VInst.scala 190:34]
+  wire [31:0] rtm = _rtm_T[31:0]; // @[VInst.scala 186:34]
   wire [35:0] _rtq_T = {rt,4'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtq = _rtq_T[31:0]; // @[VInst.scala 191:34]
-  wire  _p_x_T = sl == 2'h0; // @[VInst.scala 193:20]
-  wire  p_x = sl == 2'h0 & xs2zero; // @[VInst.scala 193:28]
-  wire  p_xx = _p_x_T & ~xs2zero; // @[VInst.scala 194:28]
-  wire  lp_xx = sl == 2'h1; // @[VInst.scala 195:20]
-  wire  _sp_xx_T = sl == 2'h2; // @[VInst.scala 196:20]
-  wire  sp_xx = sl == 2'h2 & ~q_4; // @[VInst.scala 196:28]
-  wire  qp_xx = _sp_xx_T & q_4; // @[VInst.scala 197:28]
-  wire  tp_xx = sl == 2'h3; // @[VInst.scala 198:20]
+  wire [31:0] rtq = _rtq_T[31:0]; // @[VInst.scala 187:34]
+  wire  _p_x_T = sl == 2'h0; // @[VInst.scala 189:20]
+  wire  p_x = sl == 2'h0 & xs2zero; // @[VInst.scala 189:28]
+  wire  p_xx = _p_x_T & ~xs2zero; // @[VInst.scala 190:28]
+  wire  lp_xx = sl == 2'h1; // @[VInst.scala 191:20]
+  wire  _sp_xx_T = sl == 2'h2; // @[VInst.scala 192:20]
+  wire  sp_xx = sl == 2'h2 & ~q_4; // @[VInst.scala 192:28]
+  wire  qp_xx = _sp_xx_T & q_4; // @[VInst.scala 193:28]
+  wire  tp_xx = sl == 2'h3; // @[VInst.scala 194:20]
   wire [5:0] _T_4 = {p_x,p_xx,lp_xx,sp_xx,qp_xx,tp_xx}; // @[Cat.scala 31:58]
   wire [1:0] _T_11 = _T_4[1] + _T_4[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_19 = {{1'd0}, _T_4[0]}; // @[Bitwise.scala 48:55]
@@ -33288,95 +32330,95 @@
   wire [1:0] _GEN_20 = {{1'd0}, _T_4[3]}; // @[Bitwise.scala 48:55]
   wire [2:0] _T_17 = _GEN_20 + _T_15; // @[Bitwise.scala 48:55]
   wire [2:0] _T_19 = _T_13[1:0] + _T_17[1:0]; // @[Bitwise.scala 48:55]
-  wire [7:0] _offset_T = m ? 8'h80 : 8'h20; // @[VInst.scala 201:34]
+  wire [7:0] _offset_T = m ? 8'h80 : 8'h20; // @[VInst.scala 197:34]
   wire [7:0] _offset_T_1 = p_x ? _offset_T : 8'h0; // @[Library.scala 8:8]
   wire [31:0] _offset_T_2 = p_xx ? rt : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_21 = {{24'd0}, _offset_T_1}; // @[VInst.scala 201:56]
-  wire [31:0] _offset_T_3 = _GEN_21 | _offset_T_2; // @[VInst.scala 201:56]
+  wire [31:0] _GEN_21 = {{24'd0}, _offset_T_1}; // @[VInst.scala 197:56]
+  wire [31:0] _offset_T_3 = _GEN_21 | _offset_T_2; // @[VInst.scala 197:56]
   wire [31:0] _offset_T_4 = lp_xx ? bytes : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_5 = _offset_T_3 | _offset_T_4; // @[VInst.scala 202:35]
-  wire [31:0] _offset_T_6 = m ? rtm : rt; // @[VInst.scala 204:34]
+  wire [31:0] _offset_T_5 = _offset_T_3 | _offset_T_4; // @[VInst.scala 198:35]
+  wire [31:0] _offset_T_6 = m ? rtm : rt; // @[VInst.scala 200:34]
   wire [31:0] _offset_T_7 = sp_xx ? _offset_T_6 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_8 = _offset_T_5 | _offset_T_7; // @[VInst.scala 203:38]
+  wire [31:0] _offset_T_8 = _offset_T_5 | _offset_T_7; // @[VInst.scala 199:38]
   wire [7:0] _offset_T_9 = tp_xx ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_22 = {{24'd0}, _offset_T_9}; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_10 = _offset_T_8 | _GEN_22; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_11 = m ? rtq : rtm; // @[VInst.scala 206:34]
+  wire [31:0] _GEN_22 = {{24'd0}, _offset_T_9}; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_10 = _offset_T_8 | _GEN_22; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_11 = m ? rtq : rtm; // @[VInst.scala 202:34]
   wire [31:0] _offset_T_12 = qp_xx ? _offset_T_11 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] offset = _offset_T_10 | _offset_T_12; // @[VInst.scala 205:39]
-  wire [31:0] lsuAdder_0 = io_rs_0_data + offset; // @[VInst.scala 209:24]
-  wire  m_1 = vinstInst_1[5]; // @[VInst.scala 161:26]
-  wire [1:0] sz_1 = vinstInst_1[13:12]; // @[VInst.scala 162:26]
-  wire [1:0] sl_1 = vinstInst_1[27:26]; // @[VInst.scala 163:26]
-  wire  q_5 = vinstInst_1[30]; // @[VInst.scala 164:26]
-  wire  xs2zero_1 = vinstInst_1[24:20] == 5'h0; // @[VInst.scala 166:39]
-  wire  _max_T_25 = sz_1 == 2'h0; // @[VInst.scala 168:24]
-  wire  _max_T_26 = ~m_1; // @[VInst.scala 168:35]
-  wire  _max_T_27 = sz_1 == 2'h0 & ~m_1; // @[VInst.scala 168:32]
+  wire [31:0] offset = _offset_T_10 | _offset_T_12; // @[VInst.scala 201:39]
+  wire [31:0] lsuAdder_0 = io_rs_0_data + offset; // @[VInst.scala 205:24]
+  wire  m_1 = vinstInst_1[5]; // @[VInst.scala 157:26]
+  wire [1:0] sz_1 = vinstInst_1[13:12]; // @[VInst.scala 158:26]
+  wire [1:0] sl_1 = vinstInst_1[27:26]; // @[VInst.scala 159:26]
+  wire  q_5 = vinstInst_1[30]; // @[VInst.scala 160:26]
+  wire  xs2zero_1 = vinstInst_1[24:20] == 5'h0; // @[VInst.scala 162:39]
+  wire  _max_T_25 = sz_1 == 2'h0; // @[VInst.scala 164:24]
+  wire  _max_T_26 = ~m_1; // @[VInst.scala 164:35]
+  wire  _max_T_27 = sz_1 == 2'h0 & ~m_1; // @[VInst.scala 164:32]
   wire [7:0] _max_T_28 = _max_T_27 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _max_T_29 = sz_1 == 2'h1; // @[VInst.scala 169:24]
-  wire  _max_T_31 = sz_1 == 2'h1 & _max_T_26; // @[VInst.scala 169:32]
+  wire  _max_T_29 = sz_1 == 2'h1; // @[VInst.scala 165:24]
+  wire  _max_T_31 = sz_1 == 2'h1 & _max_T_26; // @[VInst.scala 165:32]
   wire [7:0] _max_T_32 = _max_T_31 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_33 = _max_T_28 | _max_T_32; // @[VInst.scala 168:47]
-  wire  _max_T_34 = sz_1 == 2'h2; // @[VInst.scala 170:24]
-  wire  _max_T_36 = sz_1 == 2'h2 & _max_T_26; // @[VInst.scala 170:32]
+  wire [7:0] _max_T_33 = _max_T_28 | _max_T_32; // @[VInst.scala 164:47]
+  wire  _max_T_34 = sz_1 == 2'h2; // @[VInst.scala 166:24]
+  wire  _max_T_36 = sz_1 == 2'h2 & _max_T_26; // @[VInst.scala 166:32]
   wire [7:0] _max_T_37 = _max_T_36 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_38 = _max_T_33 | _max_T_37; // @[VInst.scala 169:47]
-  wire  _max_T_40 = _max_T_25 & m_1; // @[VInst.scala 171:32]
+  wire [7:0] _max_T_38 = _max_T_33 | _max_T_37; // @[VInst.scala 165:47]
+  wire  _max_T_40 = _max_T_25 & m_1; // @[VInst.scala 167:32]
   wire [7:0] _max_T_41 = _max_T_40 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_42 = _max_T_38 | _max_T_41; // @[VInst.scala 170:47]
-  wire  _max_T_44 = _max_T_29 & m_1; // @[VInst.scala 172:32]
+  wire [7:0] _max_T_42 = _max_T_38 | _max_T_41; // @[VInst.scala 166:47]
+  wire  _max_T_44 = _max_T_29 & m_1; // @[VInst.scala 168:32]
   wire [7:0] _max_T_45 = _max_T_44 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_46 = _max_T_42 | _max_T_45; // @[VInst.scala 171:47]
-  wire  _max_T_48 = _max_T_34 & m_1; // @[VInst.scala 173:32]
+  wire [7:0] _max_T_46 = _max_T_42 | _max_T_45; // @[VInst.scala 167:47]
+  wire  _max_T_48 = _max_T_34 & m_1; // @[VInst.scala 169:32]
   wire [7:0] _max_T_49 = _max_T_48 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] max_1 = _max_T_46 | _max_T_49; // @[VInst.scala 172:47]
-  wire [31:0] _GEN_23 = {{24'd0}, max_1}; // @[VInst.scala 175:25]
-  wire [31:0] cmp_1 = io_rs_3_data < _GEN_23 ? io_rs_3_data : {{24'd0}, max_1}; // @[VInst.scala 175:18]
-  wire  _bytes_T_29 = _max_T_25 & sl_1[0]; // @[VInst.scala 177:35]
+  wire [7:0] max_1 = _max_T_46 | _max_T_49; // @[VInst.scala 168:47]
+  wire [31:0] _GEN_23 = {{24'd0}, max_1}; // @[VInst.scala 171:25]
+  wire [31:0] cmp_1 = io_rs_3_data < _GEN_23 ? io_rs_3_data : {{24'd0}, max_1}; // @[VInst.scala 171:18]
+  wire  _bytes_T_29 = _max_T_25 & sl_1[0]; // @[VInst.scala 173:35]
   wire [31:0] _bytes_T_30 = _bytes_T_29 ? cmp_1 : 32'h0; // @[Library.scala 8:8]
-  wire  _bytes_T_33 = _max_T_29 & sl_1[0]; // @[VInst.scala 178:35]
+  wire  _bytes_T_33 = _max_T_29 & sl_1[0]; // @[VInst.scala 174:35]
   wire [32:0] _bytes_T_34 = {cmp_1,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _bytes_T_35 = _bytes_T_33 ? _bytes_T_34 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_24 = {{1'd0}, _bytes_T_30}; // @[VInst.scala 177:50]
-  wire [32:0] _bytes_T_36 = _GEN_24 | _bytes_T_35; // @[VInst.scala 177:50]
-  wire  _bytes_T_39 = _max_T_34 & sl_1[0]; // @[VInst.scala 179:35]
+  wire [32:0] _GEN_24 = {{1'd0}, _bytes_T_30}; // @[VInst.scala 173:50]
+  wire [32:0] _bytes_T_36 = _GEN_24 | _bytes_T_35; // @[VInst.scala 173:50]
+  wire  _bytes_T_39 = _max_T_34 & sl_1[0]; // @[VInst.scala 175:35]
   wire [33:0] _bytes_T_40 = {cmp_1,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _bytes_T_41 = _bytes_T_39 ? _bytes_T_40 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_25 = {{1'd0}, _bytes_T_36}; // @[VInst.scala 178:65]
-  wire [33:0] _bytes_T_42 = _GEN_25 | _bytes_T_41; // @[VInst.scala 178:65]
-  wire  _bytes_T_44 = ~sl_1[0]; // @[VInst.scala 180:24]
-  wire  _bytes_T_46 = ~sl_1[0] & _max_T_26; // @[VInst.scala 180:31]
+  wire [33:0] _GEN_25 = {{1'd0}, _bytes_T_36}; // @[VInst.scala 174:65]
+  wire [33:0] _bytes_T_42 = _GEN_25 | _bytes_T_41; // @[VInst.scala 174:65]
+  wire  _bytes_T_44 = ~sl_1[0]; // @[VInst.scala 176:24]
+  wire  _bytes_T_46 = ~sl_1[0] & _max_T_26; // @[VInst.scala 176:31]
   wire [7:0] _bytes_T_47 = _bytes_T_46 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_26 = {{26'd0}, _bytes_T_47}; // @[VInst.scala 179:65]
-  wire [33:0] _bytes_T_48 = _bytes_T_42 | _GEN_26; // @[VInst.scala 179:65]
-  wire  _bytes_T_51 = _bytes_T_44 & m_1; // @[VInst.scala 181:31]
+  wire [33:0] _GEN_26 = {{26'd0}, _bytes_T_47}; // @[VInst.scala 175:65]
+  wire [33:0] _bytes_T_48 = _bytes_T_42 | _GEN_26; // @[VInst.scala 175:65]
+  wire  _bytes_T_51 = _bytes_T_44 & m_1; // @[VInst.scala 177:31]
   wire [7:0] _bytes_T_52 = _bytes_T_51 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_27 = {{26'd0}, _bytes_T_52}; // @[VInst.scala 180:46]
-  wire [33:0] _bytes_T_53 = _bytes_T_48 | _GEN_27; // @[VInst.scala 180:46]
-  wire [31:0] bytes_1 = _bytes_T_53[31:0]; // @[VInst.scala 182:18]
+  wire [33:0] _GEN_27 = {{26'd0}, _bytes_T_52}; // @[VInst.scala 176:46]
+  wire [33:0] _bytes_T_53 = _bytes_T_48 | _GEN_27; // @[VInst.scala 176:46]
+  wire [31:0] bytes_1 = _bytes_T_53[31:0]; // @[VInst.scala 178:18]
   wire [31:0] _rt_T_11 = _max_T_25 ? io_rs_3_data : 32'h0; // @[Library.scala 8:8]
   wire [32:0] _rt_T_13 = {io_rs_3_data,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _rt_T_14 = _max_T_29 ? _rt_T_13 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_28 = {{1'd0}, _rt_T_11}; // @[VInst.scala 185:38]
-  wire [32:0] _rt_T_15 = _GEN_28 | _rt_T_14; // @[VInst.scala 185:38]
+  wire [32:0] _GEN_28 = {{1'd0}, _rt_T_11}; // @[VInst.scala 181:38]
+  wire [32:0] _rt_T_15 = _GEN_28 | _rt_T_14; // @[VInst.scala 181:38]
   wire [33:0] _rt_T_17 = {io_rs_3_data,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _rt_T_18 = _max_T_34 ? _rt_T_17 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_29 = {{1'd0}, _rt_T_15}; // @[VInst.scala 186:53]
-  wire [33:0] _rt_T_19 = _GEN_29 | _rt_T_18; // @[VInst.scala 186:53]
-  wire [31:0] rt_1 = _rt_T_19[31:0]; // @[VInst.scala 188:15]
+  wire [33:0] _GEN_29 = {{1'd0}, _rt_T_15}; // @[VInst.scala 182:53]
+  wire [33:0] _rt_T_19 = _GEN_29 | _rt_T_18; // @[VInst.scala 182:53]
+  wire [31:0] rt_1 = _rt_T_19[31:0]; // @[VInst.scala 184:15]
   wire [33:0] _rtm_T_1 = {rt_1,2'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtm_1 = _rtm_T_1[31:0]; // @[VInst.scala 190:34]
+  wire [31:0] rtm_1 = _rtm_T_1[31:0]; // @[VInst.scala 186:34]
   wire [35:0] _rtq_T_1 = {rt_1,4'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtq_1 = _rtq_T_1[31:0]; // @[VInst.scala 191:34]
-  wire  _p_x_T_1 = sl_1 == 2'h0; // @[VInst.scala 193:20]
-  wire  p_x_1 = sl_1 == 2'h0 & xs2zero_1; // @[VInst.scala 193:28]
-  wire  p_xx_1 = _p_x_T_1 & ~xs2zero_1; // @[VInst.scala 194:28]
-  wire  lp_xx_1 = sl_1 == 2'h1; // @[VInst.scala 195:20]
-  wire  _sp_xx_T_2 = sl_1 == 2'h2; // @[VInst.scala 196:20]
-  wire  sp_xx_1 = sl_1 == 2'h2 & ~q_5; // @[VInst.scala 196:28]
-  wire  qp_xx_1 = _sp_xx_T_2 & q_5; // @[VInst.scala 197:28]
-  wire  tp_xx_1 = sl_1 == 2'h3; // @[VInst.scala 198:20]
+  wire [31:0] rtq_1 = _rtq_T_1[31:0]; // @[VInst.scala 187:34]
+  wire  _p_x_T_1 = sl_1 == 2'h0; // @[VInst.scala 189:20]
+  wire  p_x_1 = sl_1 == 2'h0 & xs2zero_1; // @[VInst.scala 189:28]
+  wire  p_xx_1 = _p_x_T_1 & ~xs2zero_1; // @[VInst.scala 190:28]
+  wire  lp_xx_1 = sl_1 == 2'h1; // @[VInst.scala 191:20]
+  wire  _sp_xx_T_2 = sl_1 == 2'h2; // @[VInst.scala 192:20]
+  wire  sp_xx_1 = sl_1 == 2'h2 & ~q_5; // @[VInst.scala 192:28]
+  wire  qp_xx_1 = _sp_xx_T_2 & q_5; // @[VInst.scala 193:28]
+  wire  tp_xx_1 = sl_1 == 2'h3; // @[VInst.scala 194:20]
   wire [5:0] _T_25 = {p_x_1,p_xx_1,lp_xx_1,sp_xx_1,qp_xx_1,tp_xx_1}; // @[Cat.scala 31:58]
   wire [1:0] _T_32 = _T_25[1] + _T_25[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_30 = {{1'd0}, _T_25[0]}; // @[Bitwise.scala 48:55]
@@ -33385,95 +32427,95 @@
   wire [1:0] _GEN_31 = {{1'd0}, _T_25[3]}; // @[Bitwise.scala 48:55]
   wire [2:0] _T_38 = _GEN_31 + _T_36; // @[Bitwise.scala 48:55]
   wire [2:0] _T_40 = _T_34[1:0] + _T_38[1:0]; // @[Bitwise.scala 48:55]
-  wire [7:0] _offset_T_13 = m_1 ? 8'h80 : 8'h20; // @[VInst.scala 201:34]
+  wire [7:0] _offset_T_13 = m_1 ? 8'h80 : 8'h20; // @[VInst.scala 197:34]
   wire [7:0] _offset_T_14 = p_x_1 ? _offset_T_13 : 8'h0; // @[Library.scala 8:8]
   wire [31:0] _offset_T_15 = p_xx_1 ? rt_1 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_32 = {{24'd0}, _offset_T_14}; // @[VInst.scala 201:56]
-  wire [31:0] _offset_T_16 = _GEN_32 | _offset_T_15; // @[VInst.scala 201:56]
+  wire [31:0] _GEN_32 = {{24'd0}, _offset_T_14}; // @[VInst.scala 197:56]
+  wire [31:0] _offset_T_16 = _GEN_32 | _offset_T_15; // @[VInst.scala 197:56]
   wire [31:0] _offset_T_17 = lp_xx_1 ? bytes_1 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_18 = _offset_T_16 | _offset_T_17; // @[VInst.scala 202:35]
-  wire [31:0] _offset_T_19 = m_1 ? rtm_1 : rt_1; // @[VInst.scala 204:34]
+  wire [31:0] _offset_T_18 = _offset_T_16 | _offset_T_17; // @[VInst.scala 198:35]
+  wire [31:0] _offset_T_19 = m_1 ? rtm_1 : rt_1; // @[VInst.scala 200:34]
   wire [31:0] _offset_T_20 = sp_xx_1 ? _offset_T_19 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_21 = _offset_T_18 | _offset_T_20; // @[VInst.scala 203:38]
+  wire [31:0] _offset_T_21 = _offset_T_18 | _offset_T_20; // @[VInst.scala 199:38]
   wire [7:0] _offset_T_22 = tp_xx_1 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_33 = {{24'd0}, _offset_T_22}; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_23 = _offset_T_21 | _GEN_33; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_24 = m_1 ? rtq_1 : rtm_1; // @[VInst.scala 206:34]
+  wire [31:0] _GEN_33 = {{24'd0}, _offset_T_22}; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_23 = _offset_T_21 | _GEN_33; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_24 = m_1 ? rtq_1 : rtm_1; // @[VInst.scala 202:34]
   wire [31:0] _offset_T_25 = qp_xx_1 ? _offset_T_24 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] offset_1 = _offset_T_23 | _offset_T_25; // @[VInst.scala 205:39]
-  wire [31:0] lsuAdder_1 = io_rs_2_data + offset_1; // @[VInst.scala 209:24]
-  wire  m_2 = vinstInst_2[5]; // @[VInst.scala 161:26]
-  wire [1:0] sz_2 = vinstInst_2[13:12]; // @[VInst.scala 162:26]
-  wire [1:0] sl_2 = vinstInst_2[27:26]; // @[VInst.scala 163:26]
-  wire  q_6 = vinstInst_2[30]; // @[VInst.scala 164:26]
-  wire  xs2zero_2 = vinstInst_2[24:20] == 5'h0; // @[VInst.scala 166:39]
-  wire  _max_T_50 = sz_2 == 2'h0; // @[VInst.scala 168:24]
-  wire  _max_T_51 = ~m_2; // @[VInst.scala 168:35]
-  wire  _max_T_52 = sz_2 == 2'h0 & ~m_2; // @[VInst.scala 168:32]
+  wire [31:0] offset_1 = _offset_T_23 | _offset_T_25; // @[VInst.scala 201:39]
+  wire [31:0] lsuAdder_1 = io_rs_2_data + offset_1; // @[VInst.scala 205:24]
+  wire  m_2 = vinstInst_2[5]; // @[VInst.scala 157:26]
+  wire [1:0] sz_2 = vinstInst_2[13:12]; // @[VInst.scala 158:26]
+  wire [1:0] sl_2 = vinstInst_2[27:26]; // @[VInst.scala 159:26]
+  wire  q_6 = vinstInst_2[30]; // @[VInst.scala 160:26]
+  wire  xs2zero_2 = vinstInst_2[24:20] == 5'h0; // @[VInst.scala 162:39]
+  wire  _max_T_50 = sz_2 == 2'h0; // @[VInst.scala 164:24]
+  wire  _max_T_51 = ~m_2; // @[VInst.scala 164:35]
+  wire  _max_T_52 = sz_2 == 2'h0 & ~m_2; // @[VInst.scala 164:32]
   wire [7:0] _max_T_53 = _max_T_52 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _max_T_54 = sz_2 == 2'h1; // @[VInst.scala 169:24]
-  wire  _max_T_56 = sz_2 == 2'h1 & _max_T_51; // @[VInst.scala 169:32]
+  wire  _max_T_54 = sz_2 == 2'h1; // @[VInst.scala 165:24]
+  wire  _max_T_56 = sz_2 == 2'h1 & _max_T_51; // @[VInst.scala 165:32]
   wire [7:0] _max_T_57 = _max_T_56 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_58 = _max_T_53 | _max_T_57; // @[VInst.scala 168:47]
-  wire  _max_T_59 = sz_2 == 2'h2; // @[VInst.scala 170:24]
-  wire  _max_T_61 = sz_2 == 2'h2 & _max_T_51; // @[VInst.scala 170:32]
+  wire [7:0] _max_T_58 = _max_T_53 | _max_T_57; // @[VInst.scala 164:47]
+  wire  _max_T_59 = sz_2 == 2'h2; // @[VInst.scala 166:24]
+  wire  _max_T_61 = sz_2 == 2'h2 & _max_T_51; // @[VInst.scala 166:32]
   wire [7:0] _max_T_62 = _max_T_61 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_63 = _max_T_58 | _max_T_62; // @[VInst.scala 169:47]
-  wire  _max_T_65 = _max_T_50 & m_2; // @[VInst.scala 171:32]
+  wire [7:0] _max_T_63 = _max_T_58 | _max_T_62; // @[VInst.scala 165:47]
+  wire  _max_T_65 = _max_T_50 & m_2; // @[VInst.scala 167:32]
   wire [7:0] _max_T_66 = _max_T_65 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_67 = _max_T_63 | _max_T_66; // @[VInst.scala 170:47]
-  wire  _max_T_69 = _max_T_54 & m_2; // @[VInst.scala 172:32]
+  wire [7:0] _max_T_67 = _max_T_63 | _max_T_66; // @[VInst.scala 166:47]
+  wire  _max_T_69 = _max_T_54 & m_2; // @[VInst.scala 168:32]
   wire [7:0] _max_T_70 = _max_T_69 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_71 = _max_T_67 | _max_T_70; // @[VInst.scala 171:47]
-  wire  _max_T_73 = _max_T_59 & m_2; // @[VInst.scala 173:32]
+  wire [7:0] _max_T_71 = _max_T_67 | _max_T_70; // @[VInst.scala 167:47]
+  wire  _max_T_73 = _max_T_59 & m_2; // @[VInst.scala 169:32]
   wire [7:0] _max_T_74 = _max_T_73 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] max_2 = _max_T_71 | _max_T_74; // @[VInst.scala 172:47]
-  wire [31:0] _GEN_34 = {{24'd0}, max_2}; // @[VInst.scala 175:25]
-  wire [31:0] cmp_2 = io_rs_5_data < _GEN_34 ? io_rs_5_data : {{24'd0}, max_2}; // @[VInst.scala 175:18]
-  wire  _bytes_T_56 = _max_T_50 & sl_2[0]; // @[VInst.scala 177:35]
+  wire [7:0] max_2 = _max_T_71 | _max_T_74; // @[VInst.scala 168:47]
+  wire [31:0] _GEN_34 = {{24'd0}, max_2}; // @[VInst.scala 171:25]
+  wire [31:0] cmp_2 = io_rs_5_data < _GEN_34 ? io_rs_5_data : {{24'd0}, max_2}; // @[VInst.scala 171:18]
+  wire  _bytes_T_56 = _max_T_50 & sl_2[0]; // @[VInst.scala 173:35]
   wire [31:0] _bytes_T_57 = _bytes_T_56 ? cmp_2 : 32'h0; // @[Library.scala 8:8]
-  wire  _bytes_T_60 = _max_T_54 & sl_2[0]; // @[VInst.scala 178:35]
+  wire  _bytes_T_60 = _max_T_54 & sl_2[0]; // @[VInst.scala 174:35]
   wire [32:0] _bytes_T_61 = {cmp_2,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _bytes_T_62 = _bytes_T_60 ? _bytes_T_61 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_35 = {{1'd0}, _bytes_T_57}; // @[VInst.scala 177:50]
-  wire [32:0] _bytes_T_63 = _GEN_35 | _bytes_T_62; // @[VInst.scala 177:50]
-  wire  _bytes_T_66 = _max_T_59 & sl_2[0]; // @[VInst.scala 179:35]
+  wire [32:0] _GEN_35 = {{1'd0}, _bytes_T_57}; // @[VInst.scala 173:50]
+  wire [32:0] _bytes_T_63 = _GEN_35 | _bytes_T_62; // @[VInst.scala 173:50]
+  wire  _bytes_T_66 = _max_T_59 & sl_2[0]; // @[VInst.scala 175:35]
   wire [33:0] _bytes_T_67 = {cmp_2,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _bytes_T_68 = _bytes_T_66 ? _bytes_T_67 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_36 = {{1'd0}, _bytes_T_63}; // @[VInst.scala 178:65]
-  wire [33:0] _bytes_T_69 = _GEN_36 | _bytes_T_68; // @[VInst.scala 178:65]
-  wire  _bytes_T_71 = ~sl_2[0]; // @[VInst.scala 180:24]
-  wire  _bytes_T_73 = ~sl_2[0] & _max_T_51; // @[VInst.scala 180:31]
+  wire [33:0] _GEN_36 = {{1'd0}, _bytes_T_63}; // @[VInst.scala 174:65]
+  wire [33:0] _bytes_T_69 = _GEN_36 | _bytes_T_68; // @[VInst.scala 174:65]
+  wire  _bytes_T_71 = ~sl_2[0]; // @[VInst.scala 176:24]
+  wire  _bytes_T_73 = ~sl_2[0] & _max_T_51; // @[VInst.scala 176:31]
   wire [7:0] _bytes_T_74 = _bytes_T_73 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_37 = {{26'd0}, _bytes_T_74}; // @[VInst.scala 179:65]
-  wire [33:0] _bytes_T_75 = _bytes_T_69 | _GEN_37; // @[VInst.scala 179:65]
-  wire  _bytes_T_78 = _bytes_T_71 & m_2; // @[VInst.scala 181:31]
+  wire [33:0] _GEN_37 = {{26'd0}, _bytes_T_74}; // @[VInst.scala 175:65]
+  wire [33:0] _bytes_T_75 = _bytes_T_69 | _GEN_37; // @[VInst.scala 175:65]
+  wire  _bytes_T_78 = _bytes_T_71 & m_2; // @[VInst.scala 177:31]
   wire [7:0] _bytes_T_79 = _bytes_T_78 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_38 = {{26'd0}, _bytes_T_79}; // @[VInst.scala 180:46]
-  wire [33:0] _bytes_T_80 = _bytes_T_75 | _GEN_38; // @[VInst.scala 180:46]
-  wire [31:0] bytes_2 = _bytes_T_80[31:0]; // @[VInst.scala 182:18]
+  wire [33:0] _GEN_38 = {{26'd0}, _bytes_T_79}; // @[VInst.scala 176:46]
+  wire [33:0] _bytes_T_80 = _bytes_T_75 | _GEN_38; // @[VInst.scala 176:46]
+  wire [31:0] bytes_2 = _bytes_T_80[31:0]; // @[VInst.scala 178:18]
   wire [31:0] _rt_T_21 = _max_T_50 ? io_rs_5_data : 32'h0; // @[Library.scala 8:8]
   wire [32:0] _rt_T_23 = {io_rs_5_data,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _rt_T_24 = _max_T_54 ? _rt_T_23 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_39 = {{1'd0}, _rt_T_21}; // @[VInst.scala 185:38]
-  wire [32:0] _rt_T_25 = _GEN_39 | _rt_T_24; // @[VInst.scala 185:38]
+  wire [32:0] _GEN_39 = {{1'd0}, _rt_T_21}; // @[VInst.scala 181:38]
+  wire [32:0] _rt_T_25 = _GEN_39 | _rt_T_24; // @[VInst.scala 181:38]
   wire [33:0] _rt_T_27 = {io_rs_5_data,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _rt_T_28 = _max_T_59 ? _rt_T_27 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_40 = {{1'd0}, _rt_T_25}; // @[VInst.scala 186:53]
-  wire [33:0] _rt_T_29 = _GEN_40 | _rt_T_28; // @[VInst.scala 186:53]
-  wire [31:0] rt_2 = _rt_T_29[31:0]; // @[VInst.scala 188:15]
+  wire [33:0] _GEN_40 = {{1'd0}, _rt_T_25}; // @[VInst.scala 182:53]
+  wire [33:0] _rt_T_29 = _GEN_40 | _rt_T_28; // @[VInst.scala 182:53]
+  wire [31:0] rt_2 = _rt_T_29[31:0]; // @[VInst.scala 184:15]
   wire [33:0] _rtm_T_2 = {rt_2,2'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtm_2 = _rtm_T_2[31:0]; // @[VInst.scala 190:34]
+  wire [31:0] rtm_2 = _rtm_T_2[31:0]; // @[VInst.scala 186:34]
   wire [35:0] _rtq_T_2 = {rt_2,4'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtq_2 = _rtq_T_2[31:0]; // @[VInst.scala 191:34]
-  wire  _p_x_T_2 = sl_2 == 2'h0; // @[VInst.scala 193:20]
-  wire  p_x_2 = sl_2 == 2'h0 & xs2zero_2; // @[VInst.scala 193:28]
-  wire  p_xx_2 = _p_x_T_2 & ~xs2zero_2; // @[VInst.scala 194:28]
-  wire  lp_xx_2 = sl_2 == 2'h1; // @[VInst.scala 195:20]
-  wire  _sp_xx_T_4 = sl_2 == 2'h2; // @[VInst.scala 196:20]
-  wire  sp_xx_2 = sl_2 == 2'h2 & ~q_6; // @[VInst.scala 196:28]
-  wire  qp_xx_2 = _sp_xx_T_4 & q_6; // @[VInst.scala 197:28]
-  wire  tp_xx_2 = sl_2 == 2'h3; // @[VInst.scala 198:20]
+  wire [31:0] rtq_2 = _rtq_T_2[31:0]; // @[VInst.scala 187:34]
+  wire  _p_x_T_2 = sl_2 == 2'h0; // @[VInst.scala 189:20]
+  wire  p_x_2 = sl_2 == 2'h0 & xs2zero_2; // @[VInst.scala 189:28]
+  wire  p_xx_2 = _p_x_T_2 & ~xs2zero_2; // @[VInst.scala 190:28]
+  wire  lp_xx_2 = sl_2 == 2'h1; // @[VInst.scala 191:20]
+  wire  _sp_xx_T_4 = sl_2 == 2'h2; // @[VInst.scala 192:20]
+  wire  sp_xx_2 = sl_2 == 2'h2 & ~q_6; // @[VInst.scala 192:28]
+  wire  qp_xx_2 = _sp_xx_T_4 & q_6; // @[VInst.scala 193:28]
+  wire  tp_xx_2 = sl_2 == 2'h3; // @[VInst.scala 194:20]
   wire [5:0] _T_46 = {p_x_2,p_xx_2,lp_xx_2,sp_xx_2,qp_xx_2,tp_xx_2}; // @[Cat.scala 31:58]
   wire [1:0] _T_53 = _T_46[1] + _T_46[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_41 = {{1'd0}, _T_46[0]}; // @[Bitwise.scala 48:55]
@@ -33482,95 +32524,95 @@
   wire [1:0] _GEN_42 = {{1'd0}, _T_46[3]}; // @[Bitwise.scala 48:55]
   wire [2:0] _T_59 = _GEN_42 + _T_57; // @[Bitwise.scala 48:55]
   wire [2:0] _T_61 = _T_55[1:0] + _T_59[1:0]; // @[Bitwise.scala 48:55]
-  wire [7:0] _offset_T_26 = m_2 ? 8'h80 : 8'h20; // @[VInst.scala 201:34]
+  wire [7:0] _offset_T_26 = m_2 ? 8'h80 : 8'h20; // @[VInst.scala 197:34]
   wire [7:0] _offset_T_27 = p_x_2 ? _offset_T_26 : 8'h0; // @[Library.scala 8:8]
   wire [31:0] _offset_T_28 = p_xx_2 ? rt_2 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_43 = {{24'd0}, _offset_T_27}; // @[VInst.scala 201:56]
-  wire [31:0] _offset_T_29 = _GEN_43 | _offset_T_28; // @[VInst.scala 201:56]
+  wire [31:0] _GEN_43 = {{24'd0}, _offset_T_27}; // @[VInst.scala 197:56]
+  wire [31:0] _offset_T_29 = _GEN_43 | _offset_T_28; // @[VInst.scala 197:56]
   wire [31:0] _offset_T_30 = lp_xx_2 ? bytes_2 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_31 = _offset_T_29 | _offset_T_30; // @[VInst.scala 202:35]
-  wire [31:0] _offset_T_32 = m_2 ? rtm_2 : rt_2; // @[VInst.scala 204:34]
+  wire [31:0] _offset_T_31 = _offset_T_29 | _offset_T_30; // @[VInst.scala 198:35]
+  wire [31:0] _offset_T_32 = m_2 ? rtm_2 : rt_2; // @[VInst.scala 200:34]
   wire [31:0] _offset_T_33 = sp_xx_2 ? _offset_T_32 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_34 = _offset_T_31 | _offset_T_33; // @[VInst.scala 203:38]
+  wire [31:0] _offset_T_34 = _offset_T_31 | _offset_T_33; // @[VInst.scala 199:38]
   wire [7:0] _offset_T_35 = tp_xx_2 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_44 = {{24'd0}, _offset_T_35}; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_36 = _offset_T_34 | _GEN_44; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_37 = m_2 ? rtq_2 : rtm_2; // @[VInst.scala 206:34]
+  wire [31:0] _GEN_44 = {{24'd0}, _offset_T_35}; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_36 = _offset_T_34 | _GEN_44; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_37 = m_2 ? rtq_2 : rtm_2; // @[VInst.scala 202:34]
   wire [31:0] _offset_T_38 = qp_xx_2 ? _offset_T_37 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] offset_2 = _offset_T_36 | _offset_T_38; // @[VInst.scala 205:39]
-  wire [31:0] lsuAdder_2 = io_rs_4_data + offset_2; // @[VInst.scala 209:24]
-  wire  m_3 = vinstInst_3[5]; // @[VInst.scala 161:26]
-  wire [1:0] sz_3 = vinstInst_3[13:12]; // @[VInst.scala 162:26]
-  wire [1:0] sl_3 = vinstInst_3[27:26]; // @[VInst.scala 163:26]
-  wire  q_7 = vinstInst_3[30]; // @[VInst.scala 164:26]
-  wire  xs2zero_3 = vinstInst_3[24:20] == 5'h0; // @[VInst.scala 166:39]
-  wire  _max_T_75 = sz_3 == 2'h0; // @[VInst.scala 168:24]
-  wire  _max_T_76 = ~m_3; // @[VInst.scala 168:35]
-  wire  _max_T_77 = sz_3 == 2'h0 & ~m_3; // @[VInst.scala 168:32]
+  wire [31:0] offset_2 = _offset_T_36 | _offset_T_38; // @[VInst.scala 201:39]
+  wire [31:0] lsuAdder_2 = io_rs_4_data + offset_2; // @[VInst.scala 205:24]
+  wire  m_3 = vinstInst_3[5]; // @[VInst.scala 157:26]
+  wire [1:0] sz_3 = vinstInst_3[13:12]; // @[VInst.scala 158:26]
+  wire [1:0] sl_3 = vinstInst_3[27:26]; // @[VInst.scala 159:26]
+  wire  q_7 = vinstInst_3[30]; // @[VInst.scala 160:26]
+  wire  xs2zero_3 = vinstInst_3[24:20] == 5'h0; // @[VInst.scala 162:39]
+  wire  _max_T_75 = sz_3 == 2'h0; // @[VInst.scala 164:24]
+  wire  _max_T_76 = ~m_3; // @[VInst.scala 164:35]
+  wire  _max_T_77 = sz_3 == 2'h0 & ~m_3; // @[VInst.scala 164:32]
   wire [7:0] _max_T_78 = _max_T_77 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _max_T_79 = sz_3 == 2'h1; // @[VInst.scala 169:24]
-  wire  _max_T_81 = sz_3 == 2'h1 & _max_T_76; // @[VInst.scala 169:32]
+  wire  _max_T_79 = sz_3 == 2'h1; // @[VInst.scala 165:24]
+  wire  _max_T_81 = sz_3 == 2'h1 & _max_T_76; // @[VInst.scala 165:32]
   wire [7:0] _max_T_82 = _max_T_81 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_83 = _max_T_78 | _max_T_82; // @[VInst.scala 168:47]
-  wire  _max_T_84 = sz_3 == 2'h2; // @[VInst.scala 170:24]
-  wire  _max_T_86 = sz_3 == 2'h2 & _max_T_76; // @[VInst.scala 170:32]
+  wire [7:0] _max_T_83 = _max_T_78 | _max_T_82; // @[VInst.scala 164:47]
+  wire  _max_T_84 = sz_3 == 2'h2; // @[VInst.scala 166:24]
+  wire  _max_T_86 = sz_3 == 2'h2 & _max_T_76; // @[VInst.scala 166:32]
   wire [7:0] _max_T_87 = _max_T_86 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_88 = _max_T_83 | _max_T_87; // @[VInst.scala 169:47]
-  wire  _max_T_90 = _max_T_75 & m_3; // @[VInst.scala 171:32]
+  wire [7:0] _max_T_88 = _max_T_83 | _max_T_87; // @[VInst.scala 165:47]
+  wire  _max_T_90 = _max_T_75 & m_3; // @[VInst.scala 167:32]
   wire [7:0] _max_T_91 = _max_T_90 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_92 = _max_T_88 | _max_T_91; // @[VInst.scala 170:47]
-  wire  _max_T_94 = _max_T_79 & m_3; // @[VInst.scala 172:32]
+  wire [7:0] _max_T_92 = _max_T_88 | _max_T_91; // @[VInst.scala 166:47]
+  wire  _max_T_94 = _max_T_79 & m_3; // @[VInst.scala 168:32]
   wire [7:0] _max_T_95 = _max_T_94 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _max_T_96 = _max_T_92 | _max_T_95; // @[VInst.scala 171:47]
-  wire  _max_T_98 = _max_T_84 & m_3; // @[VInst.scala 173:32]
+  wire [7:0] _max_T_96 = _max_T_92 | _max_T_95; // @[VInst.scala 167:47]
+  wire  _max_T_98 = _max_T_84 & m_3; // @[VInst.scala 169:32]
   wire [7:0] _max_T_99 = _max_T_98 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] max_3 = _max_T_96 | _max_T_99; // @[VInst.scala 172:47]
-  wire [31:0] _GEN_45 = {{24'd0}, max_3}; // @[VInst.scala 175:25]
-  wire [31:0] cmp_3 = io_rs_7_data < _GEN_45 ? io_rs_7_data : {{24'd0}, max_3}; // @[VInst.scala 175:18]
-  wire  _bytes_T_83 = _max_T_75 & sl_3[0]; // @[VInst.scala 177:35]
+  wire [7:0] max_3 = _max_T_96 | _max_T_99; // @[VInst.scala 168:47]
+  wire [31:0] _GEN_45 = {{24'd0}, max_3}; // @[VInst.scala 171:25]
+  wire [31:0] cmp_3 = io_rs_7_data < _GEN_45 ? io_rs_7_data : {{24'd0}, max_3}; // @[VInst.scala 171:18]
+  wire  _bytes_T_83 = _max_T_75 & sl_3[0]; // @[VInst.scala 173:35]
   wire [31:0] _bytes_T_84 = _bytes_T_83 ? cmp_3 : 32'h0; // @[Library.scala 8:8]
-  wire  _bytes_T_87 = _max_T_79 & sl_3[0]; // @[VInst.scala 178:35]
+  wire  _bytes_T_87 = _max_T_79 & sl_3[0]; // @[VInst.scala 174:35]
   wire [32:0] _bytes_T_88 = {cmp_3,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _bytes_T_89 = _bytes_T_87 ? _bytes_T_88 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_46 = {{1'd0}, _bytes_T_84}; // @[VInst.scala 177:50]
-  wire [32:0] _bytes_T_90 = _GEN_46 | _bytes_T_89; // @[VInst.scala 177:50]
-  wire  _bytes_T_93 = _max_T_84 & sl_3[0]; // @[VInst.scala 179:35]
+  wire [32:0] _GEN_46 = {{1'd0}, _bytes_T_84}; // @[VInst.scala 173:50]
+  wire [32:0] _bytes_T_90 = _GEN_46 | _bytes_T_89; // @[VInst.scala 173:50]
+  wire  _bytes_T_93 = _max_T_84 & sl_3[0]; // @[VInst.scala 175:35]
   wire [33:0] _bytes_T_94 = {cmp_3,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _bytes_T_95 = _bytes_T_93 ? _bytes_T_94 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_47 = {{1'd0}, _bytes_T_90}; // @[VInst.scala 178:65]
-  wire [33:0] _bytes_T_96 = _GEN_47 | _bytes_T_95; // @[VInst.scala 178:65]
-  wire  _bytes_T_98 = ~sl_3[0]; // @[VInst.scala 180:24]
-  wire  _bytes_T_100 = ~sl_3[0] & _max_T_76; // @[VInst.scala 180:31]
+  wire [33:0] _GEN_47 = {{1'd0}, _bytes_T_90}; // @[VInst.scala 174:65]
+  wire [33:0] _bytes_T_96 = _GEN_47 | _bytes_T_95; // @[VInst.scala 174:65]
+  wire  _bytes_T_98 = ~sl_3[0]; // @[VInst.scala 176:24]
+  wire  _bytes_T_100 = ~sl_3[0] & _max_T_76; // @[VInst.scala 176:31]
   wire [7:0] _bytes_T_101 = _bytes_T_100 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_48 = {{26'd0}, _bytes_T_101}; // @[VInst.scala 179:65]
-  wire [33:0] _bytes_T_102 = _bytes_T_96 | _GEN_48; // @[VInst.scala 179:65]
-  wire  _bytes_T_105 = _bytes_T_98 & m_3; // @[VInst.scala 181:31]
+  wire [33:0] _GEN_48 = {{26'd0}, _bytes_T_101}; // @[VInst.scala 175:65]
+  wire [33:0] _bytes_T_102 = _bytes_T_96 | _GEN_48; // @[VInst.scala 175:65]
+  wire  _bytes_T_105 = _bytes_T_98 & m_3; // @[VInst.scala 177:31]
   wire [7:0] _bytes_T_106 = _bytes_T_105 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_49 = {{26'd0}, _bytes_T_106}; // @[VInst.scala 180:46]
-  wire [33:0] _bytes_T_107 = _bytes_T_102 | _GEN_49; // @[VInst.scala 180:46]
-  wire [31:0] bytes_3 = _bytes_T_107[31:0]; // @[VInst.scala 182:18]
+  wire [33:0] _GEN_49 = {{26'd0}, _bytes_T_106}; // @[VInst.scala 176:46]
+  wire [33:0] _bytes_T_107 = _bytes_T_102 | _GEN_49; // @[VInst.scala 176:46]
+  wire [31:0] bytes_3 = _bytes_T_107[31:0]; // @[VInst.scala 178:18]
   wire [31:0] _rt_T_31 = _max_T_75 ? io_rs_7_data : 32'h0; // @[Library.scala 8:8]
   wire [32:0] _rt_T_33 = {io_rs_7_data,1'h0}; // @[Cat.scala 31:58]
   wire [32:0] _rt_T_34 = _max_T_79 ? _rt_T_33 : 33'h0; // @[Library.scala 8:8]
-  wire [32:0] _GEN_50 = {{1'd0}, _rt_T_31}; // @[VInst.scala 185:38]
-  wire [32:0] _rt_T_35 = _GEN_50 | _rt_T_34; // @[VInst.scala 185:38]
+  wire [32:0] _GEN_50 = {{1'd0}, _rt_T_31}; // @[VInst.scala 181:38]
+  wire [32:0] _rt_T_35 = _GEN_50 | _rt_T_34; // @[VInst.scala 181:38]
   wire [33:0] _rt_T_37 = {io_rs_7_data,2'h0}; // @[Cat.scala 31:58]
   wire [33:0] _rt_T_38 = _max_T_84 ? _rt_T_37 : 34'h0; // @[Library.scala 8:8]
-  wire [33:0] _GEN_51 = {{1'd0}, _rt_T_35}; // @[VInst.scala 186:53]
-  wire [33:0] _rt_T_39 = _GEN_51 | _rt_T_38; // @[VInst.scala 186:53]
-  wire [31:0] rt_3 = _rt_T_39[31:0]; // @[VInst.scala 188:15]
+  wire [33:0] _GEN_51 = {{1'd0}, _rt_T_35}; // @[VInst.scala 182:53]
+  wire [33:0] _rt_T_39 = _GEN_51 | _rt_T_38; // @[VInst.scala 182:53]
+  wire [31:0] rt_3 = _rt_T_39[31:0]; // @[VInst.scala 184:15]
   wire [33:0] _rtm_T_3 = {rt_3,2'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtm_3 = _rtm_T_3[31:0]; // @[VInst.scala 190:34]
+  wire [31:0] rtm_3 = _rtm_T_3[31:0]; // @[VInst.scala 186:34]
   wire [35:0] _rtq_T_3 = {rt_3,4'h0}; // @[Cat.scala 31:58]
-  wire [31:0] rtq_3 = _rtq_T_3[31:0]; // @[VInst.scala 191:34]
-  wire  _p_x_T_3 = sl_3 == 2'h0; // @[VInst.scala 193:20]
-  wire  p_x_3 = sl_3 == 2'h0 & xs2zero_3; // @[VInst.scala 193:28]
-  wire  p_xx_3 = _p_x_T_3 & ~xs2zero_3; // @[VInst.scala 194:28]
-  wire  lp_xx_3 = sl_3 == 2'h1; // @[VInst.scala 195:20]
-  wire  _sp_xx_T_6 = sl_3 == 2'h2; // @[VInst.scala 196:20]
-  wire  sp_xx_3 = sl_3 == 2'h2 & ~q_7; // @[VInst.scala 196:28]
-  wire  qp_xx_3 = _sp_xx_T_6 & q_7; // @[VInst.scala 197:28]
-  wire  tp_xx_3 = sl_3 == 2'h3; // @[VInst.scala 198:20]
+  wire [31:0] rtq_3 = _rtq_T_3[31:0]; // @[VInst.scala 187:34]
+  wire  _p_x_T_3 = sl_3 == 2'h0; // @[VInst.scala 189:20]
+  wire  p_x_3 = sl_3 == 2'h0 & xs2zero_3; // @[VInst.scala 189:28]
+  wire  p_xx_3 = _p_x_T_3 & ~xs2zero_3; // @[VInst.scala 190:28]
+  wire  lp_xx_3 = sl_3 == 2'h1; // @[VInst.scala 191:20]
+  wire  _sp_xx_T_6 = sl_3 == 2'h2; // @[VInst.scala 192:20]
+  wire  sp_xx_3 = sl_3 == 2'h2 & ~q_7; // @[VInst.scala 192:28]
+  wire  qp_xx_3 = _sp_xx_T_6 & q_7; // @[VInst.scala 193:28]
+  wire  tp_xx_3 = sl_3 == 2'h3; // @[VInst.scala 194:20]
   wire [5:0] _T_67 = {p_x_3,p_xx_3,lp_xx_3,sp_xx_3,qp_xx_3,tp_xx_3}; // @[Cat.scala 31:58]
   wire [1:0] _T_74 = _T_67[1] + _T_67[2]; // @[Bitwise.scala 48:55]
   wire [1:0] _GEN_52 = {{1'd0}, _T_67[0]}; // @[Bitwise.scala 48:55]
@@ -33579,162 +32621,162 @@
   wire [1:0] _GEN_53 = {{1'd0}, _T_67[3]}; // @[Bitwise.scala 48:55]
   wire [2:0] _T_80 = _GEN_53 + _T_78; // @[Bitwise.scala 48:55]
   wire [2:0] _T_82 = _T_76[1:0] + _T_80[1:0]; // @[Bitwise.scala 48:55]
-  wire [7:0] _offset_T_39 = m_3 ? 8'h80 : 8'h20; // @[VInst.scala 201:34]
+  wire [7:0] _offset_T_39 = m_3 ? 8'h80 : 8'h20; // @[VInst.scala 197:34]
   wire [7:0] _offset_T_40 = p_x_3 ? _offset_T_39 : 8'h0; // @[Library.scala 8:8]
   wire [31:0] _offset_T_41 = p_xx_3 ? rt_3 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_54 = {{24'd0}, _offset_T_40}; // @[VInst.scala 201:56]
-  wire [31:0] _offset_T_42 = _GEN_54 | _offset_T_41; // @[VInst.scala 201:56]
+  wire [31:0] _GEN_54 = {{24'd0}, _offset_T_40}; // @[VInst.scala 197:56]
+  wire [31:0] _offset_T_42 = _GEN_54 | _offset_T_41; // @[VInst.scala 197:56]
   wire [31:0] _offset_T_43 = lp_xx_3 ? bytes_3 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_44 = _offset_T_42 | _offset_T_43; // @[VInst.scala 202:35]
-  wire [31:0] _offset_T_45 = m_3 ? rtm_3 : rt_3; // @[VInst.scala 204:34]
+  wire [31:0] _offset_T_44 = _offset_T_42 | _offset_T_43; // @[VInst.scala 198:35]
+  wire [31:0] _offset_T_45 = m_3 ? rtm_3 : rt_3; // @[VInst.scala 200:34]
   wire [31:0] _offset_T_46 = sp_xx_3 ? _offset_T_45 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _offset_T_47 = _offset_T_44 | _offset_T_46; // @[VInst.scala 203:38]
+  wire [31:0] _offset_T_47 = _offset_T_44 | _offset_T_46; // @[VInst.scala 199:38]
   wire [7:0] _offset_T_48 = tp_xx_3 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_55 = {{24'd0}, _offset_T_48}; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_49 = _offset_T_47 | _GEN_55; // @[VInst.scala 204:48]
-  wire [31:0] _offset_T_50 = m_3 ? rtq_3 : rtm_3; // @[VInst.scala 206:34]
+  wire [31:0] _GEN_55 = {{24'd0}, _offset_T_48}; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_49 = _offset_T_47 | _GEN_55; // @[VInst.scala 200:48]
+  wire [31:0] _offset_T_50 = m_3 ? rtq_3 : rtm_3; // @[VInst.scala 202:34]
   wire [31:0] _offset_T_51 = qp_xx_3 ? _offset_T_50 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] offset_3 = _offset_T_49 | _offset_T_51; // @[VInst.scala 205:39]
-  wire [31:0] lsuAdder_3 = io_rs_6_data + offset_3; // @[VInst.scala 209:24]
-  wire [1:0] getvlsz = vinstInst_0[26:25]; // @[VInst.scala 216:31]
-  wire  getvlm = vinstInst_0[27]; // @[VInst.scala 217:31]
-  wire  _maxvl_T = getvlsz == 2'h0; // @[VInst.scala 218:31]
-  wire  _maxvl_T_1 = ~getvlm; // @[VInst.scala 218:42]
-  wire  _maxvl_T_2 = getvlsz == 2'h0 & ~getvlm; // @[VInst.scala 218:39]
+  wire [31:0] offset_3 = _offset_T_49 | _offset_T_51; // @[VInst.scala 201:39]
+  wire [31:0] lsuAdder_3 = io_rs_6_data + offset_3; // @[VInst.scala 205:24]
+  wire [1:0] getvlsz = vinstInst_0[26:25]; // @[VInst.scala 212:31]
+  wire  getvlm = vinstInst_0[27]; // @[VInst.scala 213:31]
+  wire  _maxvl_T = getvlsz == 2'h0; // @[VInst.scala 214:31]
+  wire  _maxvl_T_1 = ~getvlm; // @[VInst.scala 214:42]
+  wire  _maxvl_T_2 = getvlsz == 2'h0 & ~getvlm; // @[VInst.scala 214:39]
   wire [7:0] _maxvl_T_3 = _maxvl_T_2 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _maxvl_T_4 = getvlsz == 2'h1; // @[VInst.scala 219:31]
-  wire  _maxvl_T_6 = getvlsz == 2'h1 & _maxvl_T_1; // @[VInst.scala 219:39]
+  wire  _maxvl_T_4 = getvlsz == 2'h1; // @[VInst.scala 215:31]
+  wire  _maxvl_T_6 = getvlsz == 2'h1 & _maxvl_T_1; // @[VInst.scala 215:39]
   wire [7:0] _maxvl_T_7 = _maxvl_T_6 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_8 = _maxvl_T_3 | _maxvl_T_7; // @[VInst.scala 218:59]
-  wire  _maxvl_T_9 = getvlsz == 2'h2; // @[VInst.scala 220:31]
-  wire  _maxvl_T_11 = getvlsz == 2'h2 & _maxvl_T_1; // @[VInst.scala 220:39]
+  wire [7:0] _maxvl_T_8 = _maxvl_T_3 | _maxvl_T_7; // @[VInst.scala 214:59]
+  wire  _maxvl_T_9 = getvlsz == 2'h2; // @[VInst.scala 216:31]
+  wire  _maxvl_T_11 = getvlsz == 2'h2 & _maxvl_T_1; // @[VInst.scala 216:39]
   wire [7:0] _maxvl_T_12 = _maxvl_T_11 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_13 = _maxvl_T_8 | _maxvl_T_12; // @[VInst.scala 219:59]
-  wire  _maxvl_T_15 = _maxvl_T & getvlm; // @[VInst.scala 221:39]
+  wire [7:0] _maxvl_T_13 = _maxvl_T_8 | _maxvl_T_12; // @[VInst.scala 215:59]
+  wire  _maxvl_T_15 = _maxvl_T & getvlm; // @[VInst.scala 217:39]
   wire [7:0] _maxvl_T_16 = _maxvl_T_15 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_17 = _maxvl_T_13 | _maxvl_T_16; // @[VInst.scala 220:59]
-  wire  _maxvl_T_19 = _maxvl_T_4 & getvlm; // @[VInst.scala 222:39]
+  wire [7:0] _maxvl_T_17 = _maxvl_T_13 | _maxvl_T_16; // @[VInst.scala 216:59]
+  wire  _maxvl_T_19 = _maxvl_T_4 & getvlm; // @[VInst.scala 218:39]
   wire [7:0] _maxvl_T_20 = _maxvl_T_19 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_21 = _maxvl_T_17 | _maxvl_T_20; // @[VInst.scala 221:60]
-  wire  _maxvl_T_23 = _maxvl_T_9 & getvlm; // @[VInst.scala 223:39]
+  wire [7:0] _maxvl_T_21 = _maxvl_T_17 | _maxvl_T_20; // @[VInst.scala 217:60]
+  wire  _maxvl_T_23 = _maxvl_T_9 & getvlm; // @[VInst.scala 219:39]
   wire [7:0] _maxvl_T_24 = _maxvl_T_23 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] maxvl = _maxvl_T_21 | _maxvl_T_24; // @[VInst.scala 222:60]
-  wire  rs2nonzero = vinstInst_0[24:20] != 5'h0; // @[VInst.scala 225:42]
-  wire [31:0] _GEN_56 = {{24'd0}, maxvl}; // @[VInst.scala 227:15]
-  wire [31:0] _GEN_4 = io_rs_0_data < _GEN_56 ? io_rs_0_data : {{24'd0}, maxvl}; // @[VInst.scala 229:31 230:11 232:11]
-  wire [31:0] _GEN_5 = io_rs_1_data < _GEN_56 & io_rs_1_data < io_rs_0_data & rs2nonzero ? io_rs_1_data : _GEN_4; // @[VInst.scala 227:51 228:11]
-  wire [1:0] getvlsz_1 = vinstInst_1[26:25]; // @[VInst.scala 216:31]
-  wire  getvlm_1 = vinstInst_1[27]; // @[VInst.scala 217:31]
-  wire  _maxvl_T_25 = getvlsz_1 == 2'h0; // @[VInst.scala 218:31]
-  wire  _maxvl_T_26 = ~getvlm_1; // @[VInst.scala 218:42]
-  wire  _maxvl_T_27 = getvlsz_1 == 2'h0 & ~getvlm_1; // @[VInst.scala 218:39]
+  wire [7:0] maxvl = _maxvl_T_21 | _maxvl_T_24; // @[VInst.scala 218:60]
+  wire  rs2nonzero = vinstInst_0[24:20] != 5'h0; // @[VInst.scala 221:42]
+  wire [31:0] _GEN_56 = {{24'd0}, maxvl}; // @[VInst.scala 223:15]
+  wire [31:0] _GEN_4 = io_rs_0_data < _GEN_56 ? io_rs_0_data : {{24'd0}, maxvl}; // @[VInst.scala 225:31 226:11 228:11]
+  wire [31:0] _GEN_5 = io_rs_1_data < _GEN_56 & io_rs_1_data < io_rs_0_data & rs2nonzero ? io_rs_1_data : _GEN_4; // @[VInst.scala 223:51 224:11]
+  wire [1:0] getvlsz_1 = vinstInst_1[26:25]; // @[VInst.scala 212:31]
+  wire  getvlm_1 = vinstInst_1[27]; // @[VInst.scala 213:31]
+  wire  _maxvl_T_25 = getvlsz_1 == 2'h0; // @[VInst.scala 214:31]
+  wire  _maxvl_T_26 = ~getvlm_1; // @[VInst.scala 214:42]
+  wire  _maxvl_T_27 = getvlsz_1 == 2'h0 & ~getvlm_1; // @[VInst.scala 214:39]
   wire [7:0] _maxvl_T_28 = _maxvl_T_27 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _maxvl_T_29 = getvlsz_1 == 2'h1; // @[VInst.scala 219:31]
-  wire  _maxvl_T_31 = getvlsz_1 == 2'h1 & _maxvl_T_26; // @[VInst.scala 219:39]
+  wire  _maxvl_T_29 = getvlsz_1 == 2'h1; // @[VInst.scala 215:31]
+  wire  _maxvl_T_31 = getvlsz_1 == 2'h1 & _maxvl_T_26; // @[VInst.scala 215:39]
   wire [7:0] _maxvl_T_32 = _maxvl_T_31 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_33 = _maxvl_T_28 | _maxvl_T_32; // @[VInst.scala 218:59]
-  wire  _maxvl_T_34 = getvlsz_1 == 2'h2; // @[VInst.scala 220:31]
-  wire  _maxvl_T_36 = getvlsz_1 == 2'h2 & _maxvl_T_26; // @[VInst.scala 220:39]
+  wire [7:0] _maxvl_T_33 = _maxvl_T_28 | _maxvl_T_32; // @[VInst.scala 214:59]
+  wire  _maxvl_T_34 = getvlsz_1 == 2'h2; // @[VInst.scala 216:31]
+  wire  _maxvl_T_36 = getvlsz_1 == 2'h2 & _maxvl_T_26; // @[VInst.scala 216:39]
   wire [7:0] _maxvl_T_37 = _maxvl_T_36 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_38 = _maxvl_T_33 | _maxvl_T_37; // @[VInst.scala 219:59]
-  wire  _maxvl_T_40 = _maxvl_T_25 & getvlm_1; // @[VInst.scala 221:39]
+  wire [7:0] _maxvl_T_38 = _maxvl_T_33 | _maxvl_T_37; // @[VInst.scala 215:59]
+  wire  _maxvl_T_40 = _maxvl_T_25 & getvlm_1; // @[VInst.scala 217:39]
   wire [7:0] _maxvl_T_41 = _maxvl_T_40 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_42 = _maxvl_T_38 | _maxvl_T_41; // @[VInst.scala 220:59]
-  wire  _maxvl_T_44 = _maxvl_T_29 & getvlm_1; // @[VInst.scala 222:39]
+  wire [7:0] _maxvl_T_42 = _maxvl_T_38 | _maxvl_T_41; // @[VInst.scala 216:59]
+  wire  _maxvl_T_44 = _maxvl_T_29 & getvlm_1; // @[VInst.scala 218:39]
   wire [7:0] _maxvl_T_45 = _maxvl_T_44 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_46 = _maxvl_T_42 | _maxvl_T_45; // @[VInst.scala 221:60]
-  wire  _maxvl_T_48 = _maxvl_T_34 & getvlm_1; // @[VInst.scala 223:39]
+  wire [7:0] _maxvl_T_46 = _maxvl_T_42 | _maxvl_T_45; // @[VInst.scala 217:60]
+  wire  _maxvl_T_48 = _maxvl_T_34 & getvlm_1; // @[VInst.scala 219:39]
   wire [7:0] _maxvl_T_49 = _maxvl_T_48 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] maxvl_1 = _maxvl_T_46 | _maxvl_T_49; // @[VInst.scala 222:60]
-  wire  rs2nonzero_1 = vinstInst_1[24:20] != 5'h0; // @[VInst.scala 225:42]
-  wire [31:0] _GEN_58 = {{24'd0}, maxvl_1}; // @[VInst.scala 227:15]
-  wire [31:0] _GEN_6 = io_rs_2_data < _GEN_58 ? io_rs_2_data : {{24'd0}, maxvl_1}; // @[VInst.scala 229:31 230:11 232:11]
-  wire [31:0] _GEN_7 = io_rs_3_data < _GEN_58 & io_rs_3_data < io_rs_2_data & rs2nonzero_1 ? io_rs_3_data : _GEN_6; // @[VInst.scala 227:51 228:11]
-  wire [1:0] getvlsz_2 = vinstInst_2[26:25]; // @[VInst.scala 216:31]
-  wire  getvlm_2 = vinstInst_2[27]; // @[VInst.scala 217:31]
-  wire  _maxvl_T_50 = getvlsz_2 == 2'h0; // @[VInst.scala 218:31]
-  wire  _maxvl_T_51 = ~getvlm_2; // @[VInst.scala 218:42]
-  wire  _maxvl_T_52 = getvlsz_2 == 2'h0 & ~getvlm_2; // @[VInst.scala 218:39]
+  wire [7:0] maxvl_1 = _maxvl_T_46 | _maxvl_T_49; // @[VInst.scala 218:60]
+  wire  rs2nonzero_1 = vinstInst_1[24:20] != 5'h0; // @[VInst.scala 221:42]
+  wire [31:0] _GEN_58 = {{24'd0}, maxvl_1}; // @[VInst.scala 223:15]
+  wire [31:0] _GEN_6 = io_rs_2_data < _GEN_58 ? io_rs_2_data : {{24'd0}, maxvl_1}; // @[VInst.scala 225:31 226:11 228:11]
+  wire [31:0] _GEN_7 = io_rs_3_data < _GEN_58 & io_rs_3_data < io_rs_2_data & rs2nonzero_1 ? io_rs_3_data : _GEN_6; // @[VInst.scala 223:51 224:11]
+  wire [1:0] getvlsz_2 = vinstInst_2[26:25]; // @[VInst.scala 212:31]
+  wire  getvlm_2 = vinstInst_2[27]; // @[VInst.scala 213:31]
+  wire  _maxvl_T_50 = getvlsz_2 == 2'h0; // @[VInst.scala 214:31]
+  wire  _maxvl_T_51 = ~getvlm_2; // @[VInst.scala 214:42]
+  wire  _maxvl_T_52 = getvlsz_2 == 2'h0 & ~getvlm_2; // @[VInst.scala 214:39]
   wire [7:0] _maxvl_T_53 = _maxvl_T_52 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _maxvl_T_54 = getvlsz_2 == 2'h1; // @[VInst.scala 219:31]
-  wire  _maxvl_T_56 = getvlsz_2 == 2'h1 & _maxvl_T_51; // @[VInst.scala 219:39]
+  wire  _maxvl_T_54 = getvlsz_2 == 2'h1; // @[VInst.scala 215:31]
+  wire  _maxvl_T_56 = getvlsz_2 == 2'h1 & _maxvl_T_51; // @[VInst.scala 215:39]
   wire [7:0] _maxvl_T_57 = _maxvl_T_56 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_58 = _maxvl_T_53 | _maxvl_T_57; // @[VInst.scala 218:59]
-  wire  _maxvl_T_59 = getvlsz_2 == 2'h2; // @[VInst.scala 220:31]
-  wire  _maxvl_T_61 = getvlsz_2 == 2'h2 & _maxvl_T_51; // @[VInst.scala 220:39]
+  wire [7:0] _maxvl_T_58 = _maxvl_T_53 | _maxvl_T_57; // @[VInst.scala 214:59]
+  wire  _maxvl_T_59 = getvlsz_2 == 2'h2; // @[VInst.scala 216:31]
+  wire  _maxvl_T_61 = getvlsz_2 == 2'h2 & _maxvl_T_51; // @[VInst.scala 216:39]
   wire [7:0] _maxvl_T_62 = _maxvl_T_61 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_63 = _maxvl_T_58 | _maxvl_T_62; // @[VInst.scala 219:59]
-  wire  _maxvl_T_65 = _maxvl_T_50 & getvlm_2; // @[VInst.scala 221:39]
+  wire [7:0] _maxvl_T_63 = _maxvl_T_58 | _maxvl_T_62; // @[VInst.scala 215:59]
+  wire  _maxvl_T_65 = _maxvl_T_50 & getvlm_2; // @[VInst.scala 217:39]
   wire [7:0] _maxvl_T_66 = _maxvl_T_65 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_67 = _maxvl_T_63 | _maxvl_T_66; // @[VInst.scala 220:59]
-  wire  _maxvl_T_69 = _maxvl_T_54 & getvlm_2; // @[VInst.scala 222:39]
+  wire [7:0] _maxvl_T_67 = _maxvl_T_63 | _maxvl_T_66; // @[VInst.scala 216:59]
+  wire  _maxvl_T_69 = _maxvl_T_54 & getvlm_2; // @[VInst.scala 218:39]
   wire [7:0] _maxvl_T_70 = _maxvl_T_69 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_71 = _maxvl_T_67 | _maxvl_T_70; // @[VInst.scala 221:60]
-  wire  _maxvl_T_73 = _maxvl_T_59 & getvlm_2; // @[VInst.scala 223:39]
+  wire [7:0] _maxvl_T_71 = _maxvl_T_67 | _maxvl_T_70; // @[VInst.scala 217:60]
+  wire  _maxvl_T_73 = _maxvl_T_59 & getvlm_2; // @[VInst.scala 219:39]
   wire [7:0] _maxvl_T_74 = _maxvl_T_73 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] maxvl_2 = _maxvl_T_71 | _maxvl_T_74; // @[VInst.scala 222:60]
-  wire  rs2nonzero_2 = vinstInst_2[24:20] != 5'h0; // @[VInst.scala 225:42]
-  wire [31:0] _GEN_60 = {{24'd0}, maxvl_2}; // @[VInst.scala 227:15]
-  wire [31:0] _GEN_8 = io_rs_4_data < _GEN_60 ? io_rs_4_data : {{24'd0}, maxvl_2}; // @[VInst.scala 229:31 230:11 232:11]
-  wire [31:0] _GEN_9 = io_rs_5_data < _GEN_60 & io_rs_5_data < io_rs_4_data & rs2nonzero_2 ? io_rs_5_data : _GEN_8; // @[VInst.scala 227:51 228:11]
-  wire [1:0] getvlsz_3 = vinstInst_3[26:25]; // @[VInst.scala 216:31]
-  wire  getvlm_3 = vinstInst_3[27]; // @[VInst.scala 217:31]
-  wire  _maxvl_T_75 = getvlsz_3 == 2'h0; // @[VInst.scala 218:31]
-  wire  _maxvl_T_76 = ~getvlm_3; // @[VInst.scala 218:42]
-  wire  _maxvl_T_77 = getvlsz_3 == 2'h0 & ~getvlm_3; // @[VInst.scala 218:39]
+  wire [7:0] maxvl_2 = _maxvl_T_71 | _maxvl_T_74; // @[VInst.scala 218:60]
+  wire  rs2nonzero_2 = vinstInst_2[24:20] != 5'h0; // @[VInst.scala 221:42]
+  wire [31:0] _GEN_60 = {{24'd0}, maxvl_2}; // @[VInst.scala 223:15]
+  wire [31:0] _GEN_8 = io_rs_4_data < _GEN_60 ? io_rs_4_data : {{24'd0}, maxvl_2}; // @[VInst.scala 225:31 226:11 228:11]
+  wire [31:0] _GEN_9 = io_rs_5_data < _GEN_60 & io_rs_5_data < io_rs_4_data & rs2nonzero_2 ? io_rs_5_data : _GEN_8; // @[VInst.scala 223:51 224:11]
+  wire [1:0] getvlsz_3 = vinstInst_3[26:25]; // @[VInst.scala 212:31]
+  wire  getvlm_3 = vinstInst_3[27]; // @[VInst.scala 213:31]
+  wire  _maxvl_T_75 = getvlsz_3 == 2'h0; // @[VInst.scala 214:31]
+  wire  _maxvl_T_76 = ~getvlm_3; // @[VInst.scala 214:42]
+  wire  _maxvl_T_77 = getvlsz_3 == 2'h0 & ~getvlm_3; // @[VInst.scala 214:39]
   wire [7:0] _maxvl_T_78 = _maxvl_T_77 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire  _maxvl_T_79 = getvlsz_3 == 2'h1; // @[VInst.scala 219:31]
-  wire  _maxvl_T_81 = getvlsz_3 == 2'h1 & _maxvl_T_76; // @[VInst.scala 219:39]
+  wire  _maxvl_T_79 = getvlsz_3 == 2'h1; // @[VInst.scala 215:31]
+  wire  _maxvl_T_81 = getvlsz_3 == 2'h1 & _maxvl_T_76; // @[VInst.scala 215:39]
   wire [7:0] _maxvl_T_82 = _maxvl_T_81 ? 8'h10 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_83 = _maxvl_T_78 | _maxvl_T_82; // @[VInst.scala 218:59]
-  wire  _maxvl_T_84 = getvlsz_3 == 2'h2; // @[VInst.scala 220:31]
-  wire  _maxvl_T_86 = getvlsz_3 == 2'h2 & _maxvl_T_76; // @[VInst.scala 220:39]
+  wire [7:0] _maxvl_T_83 = _maxvl_T_78 | _maxvl_T_82; // @[VInst.scala 214:59]
+  wire  _maxvl_T_84 = getvlsz_3 == 2'h2; // @[VInst.scala 216:31]
+  wire  _maxvl_T_86 = getvlsz_3 == 2'h2 & _maxvl_T_76; // @[VInst.scala 216:39]
   wire [7:0] _maxvl_T_87 = _maxvl_T_86 ? 8'h8 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_88 = _maxvl_T_83 | _maxvl_T_87; // @[VInst.scala 219:59]
-  wire  _maxvl_T_90 = _maxvl_T_75 & getvlm_3; // @[VInst.scala 221:39]
+  wire [7:0] _maxvl_T_88 = _maxvl_T_83 | _maxvl_T_87; // @[VInst.scala 215:59]
+  wire  _maxvl_T_90 = _maxvl_T_75 & getvlm_3; // @[VInst.scala 217:39]
   wire [7:0] _maxvl_T_91 = _maxvl_T_90 ? 8'h80 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_92 = _maxvl_T_88 | _maxvl_T_91; // @[VInst.scala 220:59]
-  wire  _maxvl_T_94 = _maxvl_T_79 & getvlm_3; // @[VInst.scala 222:39]
+  wire [7:0] _maxvl_T_92 = _maxvl_T_88 | _maxvl_T_91; // @[VInst.scala 216:59]
+  wire  _maxvl_T_94 = _maxvl_T_79 & getvlm_3; // @[VInst.scala 218:39]
   wire [7:0] _maxvl_T_95 = _maxvl_T_94 ? 8'h40 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _maxvl_T_96 = _maxvl_T_92 | _maxvl_T_95; // @[VInst.scala 221:60]
-  wire  _maxvl_T_98 = _maxvl_T_84 & getvlm_3; // @[VInst.scala 223:39]
+  wire [7:0] _maxvl_T_96 = _maxvl_T_92 | _maxvl_T_95; // @[VInst.scala 217:60]
+  wire  _maxvl_T_98 = _maxvl_T_84 & getvlm_3; // @[VInst.scala 219:39]
   wire [7:0] _maxvl_T_99 = _maxvl_T_98 ? 8'h20 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] maxvl_3 = _maxvl_T_96 | _maxvl_T_99; // @[VInst.scala 222:60]
-  wire  rs2nonzero_3 = vinstInst_3[24:20] != 5'h0; // @[VInst.scala 225:42]
-  wire [31:0] _GEN_62 = {{24'd0}, maxvl_3}; // @[VInst.scala 227:15]
-  wire [31:0] _GEN_10 = io_rs_6_data < _GEN_62 ? io_rs_6_data : {{24'd0}, maxvl_3}; // @[VInst.scala 229:31 230:11 232:11]
-  wire [31:0] _GEN_11 = io_rs_7_data < _GEN_62 & io_rs_7_data < io_rs_6_data & rs2nonzero_3 ? io_rs_7_data : _GEN_10; // @[VInst.scala 227:51 228:11]
-  wire [7:0] len = _GEN_5[7:0]; // @[VInst.scala 213:19]
+  wire [7:0] maxvl_3 = _maxvl_T_96 | _maxvl_T_99; // @[VInst.scala 218:60]
+  wire  rs2nonzero_3 = vinstInst_3[24:20] != 5'h0; // @[VInst.scala 221:42]
+  wire [31:0] _GEN_62 = {{24'd0}, maxvl_3}; // @[VInst.scala 223:15]
+  wire [31:0] _GEN_10 = io_rs_6_data < _GEN_62 ? io_rs_6_data : {{24'd0}, maxvl_3}; // @[VInst.scala 225:31 226:11 228:11]
+  wire [31:0] _GEN_11 = io_rs_7_data < _GEN_62 & io_rs_7_data < io_rs_6_data & rs2nonzero_3 ? io_rs_7_data : _GEN_10; // @[VInst.scala 223:51 224:11]
+  wire [7:0] len = _GEN_5[7:0]; // @[VInst.scala 209:19]
   wire [7:0] _io_rd_0_data_T = getvl_0 ? len : 8'h0; // @[Library.scala 8:8]
   wire [7:0] _io_rd_0_data_T_1 = getmaxvl_0 ? maxvl : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _io_rd_0_data_T_2 = _io_rd_0_data_T | _io_rd_0_data_T_1; // @[VInst.scala 244:40]
-  wire  _io_rd_0_data_T_4 = vld_u_0 | vst_u_0 | vst_q_0; // @[VInst.scala 246:36]
+  wire [7:0] _io_rd_0_data_T_2 = _io_rd_0_data_T | _io_rd_0_data_T_1; // @[VInst.scala 240:40]
+  wire  _io_rd_0_data_T_4 = vld_u_0 | vst_u_0 | vst_q_0; // @[VInst.scala 242:36]
   wire [31:0] _io_rd_0_data_T_5 = _io_rd_0_data_T_4 ? lsuAdder_0 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_64 = {{24'd0}, _io_rd_0_data_T_2}; // @[VInst.scala 245:46]
-  wire [7:0] len_1 = _GEN_7[7:0]; // @[VInst.scala 213:19]
+  wire [31:0] _GEN_64 = {{24'd0}, _io_rd_0_data_T_2}; // @[VInst.scala 241:46]
+  wire [7:0] len_1 = _GEN_7[7:0]; // @[VInst.scala 209:19]
   wire [7:0] _io_rd_1_data_T = getvl_1 ? len_1 : 8'h0; // @[Library.scala 8:8]
   wire [7:0] _io_rd_1_data_T_1 = getmaxvl_1 ? maxvl_1 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _io_rd_1_data_T_2 = _io_rd_1_data_T | _io_rd_1_data_T_1; // @[VInst.scala 244:40]
-  wire  _io_rd_1_data_T_4 = vld_u_1 | vst_u_1 | vst_q_1; // @[VInst.scala 246:36]
+  wire [7:0] _io_rd_1_data_T_2 = _io_rd_1_data_T | _io_rd_1_data_T_1; // @[VInst.scala 240:40]
+  wire  _io_rd_1_data_T_4 = vld_u_1 | vst_u_1 | vst_q_1; // @[VInst.scala 242:36]
   wire [31:0] _io_rd_1_data_T_5 = _io_rd_1_data_T_4 ? lsuAdder_1 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_65 = {{24'd0}, _io_rd_1_data_T_2}; // @[VInst.scala 245:46]
-  wire [7:0] len_2 = _GEN_9[7:0]; // @[VInst.scala 213:19]
+  wire [31:0] _GEN_65 = {{24'd0}, _io_rd_1_data_T_2}; // @[VInst.scala 241:46]
+  wire [7:0] len_2 = _GEN_9[7:0]; // @[VInst.scala 209:19]
   wire [7:0] _io_rd_2_data_T = getvl_2 ? len_2 : 8'h0; // @[Library.scala 8:8]
   wire [7:0] _io_rd_2_data_T_1 = getmaxvl_2 ? maxvl_2 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _io_rd_2_data_T_2 = _io_rd_2_data_T | _io_rd_2_data_T_1; // @[VInst.scala 244:40]
-  wire  _io_rd_2_data_T_4 = vld_u_2 | vst_u_2 | vst_q_2; // @[VInst.scala 246:36]
+  wire [7:0] _io_rd_2_data_T_2 = _io_rd_2_data_T | _io_rd_2_data_T_1; // @[VInst.scala 240:40]
+  wire  _io_rd_2_data_T_4 = vld_u_2 | vst_u_2 | vst_q_2; // @[VInst.scala 242:36]
   wire [31:0] _io_rd_2_data_T_5 = _io_rd_2_data_T_4 ? lsuAdder_2 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_66 = {{24'd0}, _io_rd_2_data_T_2}; // @[VInst.scala 245:46]
-  wire [7:0] len_3 = _GEN_11[7:0]; // @[VInst.scala 213:19]
+  wire [31:0] _GEN_66 = {{24'd0}, _io_rd_2_data_T_2}; // @[VInst.scala 241:46]
+  wire [7:0] len_3 = _GEN_11[7:0]; // @[VInst.scala 209:19]
   wire [7:0] _io_rd_3_data_T = getvl_3 ? len_3 : 8'h0; // @[Library.scala 8:8]
   wire [7:0] _io_rd_3_data_T_1 = getmaxvl_3 ? maxvl_3 : 8'h0; // @[Library.scala 8:8]
-  wire [7:0] _io_rd_3_data_T_2 = _io_rd_3_data_T | _io_rd_3_data_T_1; // @[VInst.scala 244:40]
-  wire  _io_rd_3_data_T_4 = vld_u_3 | vst_u_3 | vst_q_3; // @[VInst.scala 246:36]
+  wire [7:0] _io_rd_3_data_T_2 = _io_rd_3_data_T | _io_rd_3_data_T_1; // @[VInst.scala 240:40]
+  wire  _io_rd_3_data_T_4 = vld_u_3 | vst_u_3 | vst_q_3; // @[VInst.scala 242:36]
   wire [31:0] _io_rd_3_data_T_5 = _io_rd_3_data_T_4 ? lsuAdder_3 : 32'h0; // @[Library.scala 8:8]
-  wire [31:0] _GEN_67 = {{24'd0}, _io_rd_3_data_T_2}; // @[VInst.scala 245:46]
-  wire  _T_108 = ~slice_io_in_ready; // @[VInst.scala 257:33]
-  reg  nempty; // @[VInst.scala 279:23]
-  wire  _nempty_T_2 = io_in_0_valid | io_in_1_valid | io_in_2_valid | io_in_3_valid; // @[VInst.scala 282:64]
+  wire [31:0] _GEN_67 = {{24'd0}, _io_rd_3_data_T_2}; // @[VInst.scala 241:46]
+  wire  _T_108 = ~slice_io_in_ready; // @[VInst.scala 253:33]
+  reg  nempty; // @[VInst.scala 275:23]
+  wire  _nempty_T_2 = io_in_0_valid | io_in_1_valid | io_in_2_valid | io_in_3_valid; // @[VInst.scala 278:64]
   Slice_4 slice ( // @[Slice.scala 9:11]
     .clock(slice_clock),
     .reset(slice_reset),
@@ -33775,87 +32817,87 @@
     .io_out_bits_3_lane_bits_addr(slice_io_out_bits_3_lane_bits_addr),
     .io_out_bits_3_lane_bits_data(slice_io_out_bits_3_lane_bits_data)
   );
-  assign io_in_0_ready = ~io_out_stall; // @[VInst.scala 99:23]
-  assign io_in_1_ready = ~io_out_stall; // @[VInst.scala 99:23]
-  assign io_in_2_ready = ~io_out_stall; // @[VInst.scala 99:23]
-  assign io_in_3_ready = ~io_out_stall; // @[VInst.scala 99:23]
-  assign io_rd_0_valid = getvl_0 | getmaxvl_0 | vld_u_0 | vst_u_0 | vst_q_0; // @[VInst.scala 240:71]
-  assign io_rd_0_addr = rdAddr_0; // @[VInst.scala 241:19]
-  assign io_rd_0_data = _GEN_64 | _io_rd_0_data_T_5; // @[VInst.scala 245:46]
-  assign io_rd_1_valid = getvl_1 | getmaxvl_1 | vld_u_1 | vst_u_1 | vst_q_1; // @[VInst.scala 240:71]
-  assign io_rd_1_addr = rdAddr_1; // @[VInst.scala 241:19]
-  assign io_rd_1_data = _GEN_65 | _io_rd_1_data_T_5; // @[VInst.scala 245:46]
-  assign io_rd_2_valid = getvl_2 | getmaxvl_2 | vld_u_2 | vst_u_2 | vst_q_2; // @[VInst.scala 240:71]
-  assign io_rd_2_addr = rdAddr_2; // @[VInst.scala 241:19]
-  assign io_rd_2_data = _GEN_66 | _io_rd_2_data_T_5; // @[VInst.scala 245:46]
-  assign io_rd_3_valid = getvl_3 | getmaxvl_3 | vld_u_3 | vst_u_3 | vst_q_3; // @[VInst.scala 240:71]
-  assign io_rd_3_addr = rdAddr_3; // @[VInst.scala 241:19]
-  assign io_rd_3_data = _GEN_67 | _io_rd_3_data_T_5; // @[VInst.scala 245:46]
-  assign io_out_valid = slice_io_out_valid; // @[VInst.scala 253:16]
-  assign io_out_lane_0_valid = slice_io_out_bits_0_lane_valid; // @[VInst.scala 269:20]
-  assign io_out_lane_0_bits_inst = slice_io_out_bits_0_lane_bits_inst; // @[VInst.scala 269:20]
-  assign io_out_lane_0_bits_addr = slice_io_out_bits_0_lane_bits_addr; // @[VInst.scala 269:20]
-  assign io_out_lane_0_bits_data = slice_io_out_bits_0_lane_bits_data; // @[VInst.scala 269:20]
-  assign io_out_lane_1_valid = slice_io_out_bits_1_lane_valid; // @[VInst.scala 269:20]
-  assign io_out_lane_1_bits_inst = slice_io_out_bits_1_lane_bits_inst; // @[VInst.scala 269:20]
-  assign io_out_lane_1_bits_addr = slice_io_out_bits_1_lane_bits_addr; // @[VInst.scala 269:20]
-  assign io_out_lane_1_bits_data = slice_io_out_bits_1_lane_bits_data; // @[VInst.scala 269:20]
-  assign io_out_lane_2_valid = slice_io_out_bits_2_lane_valid; // @[VInst.scala 269:20]
-  assign io_out_lane_2_bits_inst = slice_io_out_bits_2_lane_bits_inst; // @[VInst.scala 269:20]
-  assign io_out_lane_2_bits_addr = slice_io_out_bits_2_lane_bits_addr; // @[VInst.scala 269:20]
-  assign io_out_lane_2_bits_data = slice_io_out_bits_2_lane_bits_data; // @[VInst.scala 269:20]
-  assign io_out_lane_3_valid = slice_io_out_bits_3_lane_valid; // @[VInst.scala 269:20]
-  assign io_out_lane_3_bits_inst = slice_io_out_bits_3_lane_bits_inst; // @[VInst.scala 269:20]
-  assign io_out_lane_3_bits_addr = slice_io_out_bits_3_lane_bits_addr; // @[VInst.scala 269:20]
-  assign io_out_lane_3_bits_data = slice_io_out_bits_3_lane_bits_data; // @[VInst.scala 269:20]
-  assign io_nempty = nempty; // @[VInst.scala 285:13]
+  assign io_in_0_ready = ~io_out_stall; // @[VInst.scala 98:23]
+  assign io_in_1_ready = ~io_out_stall; // @[VInst.scala 98:23]
+  assign io_in_2_ready = ~io_out_stall; // @[VInst.scala 98:23]
+  assign io_in_3_ready = ~io_out_stall; // @[VInst.scala 98:23]
+  assign io_rd_0_valid = getvl_0 | getmaxvl_0 | vld_u_0 | vst_u_0 | vst_q_0; // @[VInst.scala 236:71]
+  assign io_rd_0_addr = rdAddr_0; // @[VInst.scala 237:19]
+  assign io_rd_0_data = _GEN_64 | _io_rd_0_data_T_5; // @[VInst.scala 241:46]
+  assign io_rd_1_valid = getvl_1 | getmaxvl_1 | vld_u_1 | vst_u_1 | vst_q_1; // @[VInst.scala 236:71]
+  assign io_rd_1_addr = rdAddr_1; // @[VInst.scala 237:19]
+  assign io_rd_1_data = _GEN_65 | _io_rd_1_data_T_5; // @[VInst.scala 241:46]
+  assign io_rd_2_valid = getvl_2 | getmaxvl_2 | vld_u_2 | vst_u_2 | vst_q_2; // @[VInst.scala 236:71]
+  assign io_rd_2_addr = rdAddr_2; // @[VInst.scala 237:19]
+  assign io_rd_2_data = _GEN_66 | _io_rd_2_data_T_5; // @[VInst.scala 241:46]
+  assign io_rd_3_valid = getvl_3 | getmaxvl_3 | vld_u_3 | vst_u_3 | vst_q_3; // @[VInst.scala 236:71]
+  assign io_rd_3_addr = rdAddr_3; // @[VInst.scala 237:19]
+  assign io_rd_3_data = _GEN_67 | _io_rd_3_data_T_5; // @[VInst.scala 241:46]
+  assign io_out_valid = slice_io_out_valid; // @[VInst.scala 249:16]
+  assign io_out_lane_0_valid = slice_io_out_bits_0_lane_valid; // @[VInst.scala 265:20]
+  assign io_out_lane_0_bits_inst = slice_io_out_bits_0_lane_bits_inst; // @[VInst.scala 265:20]
+  assign io_out_lane_0_bits_addr = slice_io_out_bits_0_lane_bits_addr; // @[VInst.scala 265:20]
+  assign io_out_lane_0_bits_data = slice_io_out_bits_0_lane_bits_data; // @[VInst.scala 265:20]
+  assign io_out_lane_1_valid = slice_io_out_bits_1_lane_valid; // @[VInst.scala 265:20]
+  assign io_out_lane_1_bits_inst = slice_io_out_bits_1_lane_bits_inst; // @[VInst.scala 265:20]
+  assign io_out_lane_1_bits_addr = slice_io_out_bits_1_lane_bits_addr; // @[VInst.scala 265:20]
+  assign io_out_lane_1_bits_data = slice_io_out_bits_1_lane_bits_data; // @[VInst.scala 265:20]
+  assign io_out_lane_2_valid = slice_io_out_bits_2_lane_valid; // @[VInst.scala 265:20]
+  assign io_out_lane_2_bits_inst = slice_io_out_bits_2_lane_bits_inst; // @[VInst.scala 265:20]
+  assign io_out_lane_2_bits_addr = slice_io_out_bits_2_lane_bits_addr; // @[VInst.scala 265:20]
+  assign io_out_lane_2_bits_data = slice_io_out_bits_2_lane_bits_data; // @[VInst.scala 265:20]
+  assign io_out_lane_3_valid = slice_io_out_bits_3_lane_valid; // @[VInst.scala 265:20]
+  assign io_out_lane_3_bits_inst = slice_io_out_bits_3_lane_bits_inst; // @[VInst.scala 265:20]
+  assign io_out_lane_3_bits_addr = slice_io_out_bits_3_lane_bits_addr; // @[VInst.scala 265:20]
+  assign io_out_lane_3_bits_data = slice_io_out_bits_3_lane_bits_data; // @[VInst.scala 265:20]
+  assign io_nempty = nempty; // @[VInst.scala 281:13]
   assign slice_clock = clock;
   assign slice_reset = reset;
-  assign slice_io_in_valid = vvalid; // @[VInst.scala 251:21]
-  assign slice_io_in_bits_0_lane_valid = vinstValid_0; // @[VInst.scala 262:36]
-  assign slice_io_in_bits_0_lane_bits_inst = vinstInst_0; // @[VInst.scala 263:40]
-  assign slice_io_in_bits_0_lane_bits_addr = io_rs_0_data; // @[VInst.scala 264:40]
-  assign slice_io_in_bits_0_lane_bits_data = vfop_0 ? io_fs_0_data : io_rs_1_data; // @[VInst.scala 265:46]
-  assign slice_io_in_bits_1_lane_valid = vinstValid_1; // @[VInst.scala 262:36]
-  assign slice_io_in_bits_1_lane_bits_inst = vinstInst_1; // @[VInst.scala 263:40]
-  assign slice_io_in_bits_1_lane_bits_addr = io_rs_2_data; // @[VInst.scala 264:40]
-  assign slice_io_in_bits_1_lane_bits_data = vfop_1 ? io_fs_1_data : io_rs_3_data; // @[VInst.scala 265:46]
-  assign slice_io_in_bits_2_lane_valid = vinstValid_2; // @[VInst.scala 262:36]
-  assign slice_io_in_bits_2_lane_bits_inst = vinstInst_2; // @[VInst.scala 263:40]
-  assign slice_io_in_bits_2_lane_bits_addr = io_rs_4_data; // @[VInst.scala 264:40]
-  assign slice_io_in_bits_2_lane_bits_data = vfop_2 ? io_fs_2_data : io_rs_5_data; // @[VInst.scala 265:46]
-  assign slice_io_in_bits_3_lane_valid = vinstValid_3; // @[VInst.scala 262:36]
-  assign slice_io_in_bits_3_lane_bits_inst = vinstInst_3; // @[VInst.scala 263:40]
-  assign slice_io_in_bits_3_lane_bits_addr = io_rs_6_data; // @[VInst.scala 264:40]
-  assign slice_io_in_bits_3_lane_bits_data = vfop_3 ? io_fs_3_data : io_rs_7_data; // @[VInst.scala 265:46]
-  assign slice_io_out_ready = io_out_ready; // @[VInst.scala 252:22]
+  assign slice_io_in_valid = vvalid; // @[VInst.scala 247:21]
+  assign slice_io_in_bits_0_lane_valid = vinstValid_0; // @[VInst.scala 258:36]
+  assign slice_io_in_bits_0_lane_bits_inst = vinstInst_0; // @[VInst.scala 259:40]
+  assign slice_io_in_bits_0_lane_bits_addr = io_rs_0_data; // @[VInst.scala 260:40]
+  assign slice_io_in_bits_0_lane_bits_data = io_rs_1_data; // @[VInst.scala 261:40]
+  assign slice_io_in_bits_1_lane_valid = vinstValid_1; // @[VInst.scala 258:36]
+  assign slice_io_in_bits_1_lane_bits_inst = vinstInst_1; // @[VInst.scala 259:40]
+  assign slice_io_in_bits_1_lane_bits_addr = io_rs_2_data; // @[VInst.scala 260:40]
+  assign slice_io_in_bits_1_lane_bits_data = io_rs_3_data; // @[VInst.scala 261:40]
+  assign slice_io_in_bits_2_lane_valid = vinstValid_2; // @[VInst.scala 258:36]
+  assign slice_io_in_bits_2_lane_bits_inst = vinstInst_2; // @[VInst.scala 259:40]
+  assign slice_io_in_bits_2_lane_bits_addr = io_rs_4_data; // @[VInst.scala 260:40]
+  assign slice_io_in_bits_2_lane_bits_data = io_rs_5_data; // @[VInst.scala 261:40]
+  assign slice_io_in_bits_3_lane_valid = vinstValid_3; // @[VInst.scala 258:36]
+  assign slice_io_in_bits_3_lane_bits_inst = vinstInst_3; // @[VInst.scala 259:40]
+  assign slice_io_in_bits_3_lane_bits_addr = io_rs_6_data; // @[VInst.scala 260:40]
+  assign slice_io_in_bits_3_lane_bits_data = io_rs_7_data; // @[VInst.scala 261:40]
+  assign slice_io_out_ready = io_out_ready; // @[VInst.scala 248:22]
   always @(posedge clock) begin
-    if (reqvalid_0) begin // @[VInst.scala 116:24]
-      rdAddr_0 <= io_in_0_addr; // @[VInst.scala 117:17]
+    if (reqvalid_0) begin // @[VInst.scala 114:24]
+      rdAddr_0 <= io_in_0_addr; // @[VInst.scala 115:17]
     end
-    if (reqvalid_1) begin // @[VInst.scala 116:24]
-      rdAddr_1 <= io_in_1_addr; // @[VInst.scala 117:17]
+    if (reqvalid_1) begin // @[VInst.scala 114:24]
+      rdAddr_1 <= io_in_1_addr; // @[VInst.scala 115:17]
     end
-    if (reqvalid_2) begin // @[VInst.scala 116:24]
-      rdAddr_2 <= io_in_2_addr; // @[VInst.scala 117:17]
+    if (reqvalid_2) begin // @[VInst.scala 114:24]
+      rdAddr_2 <= io_in_2_addr; // @[VInst.scala 115:17]
     end
-    if (reqvalid_3) begin // @[VInst.scala 116:24]
-      rdAddr_3 <= io_in_3_addr; // @[VInst.scala 117:17]
+    if (reqvalid_3) begin // @[VInst.scala 114:24]
+      rdAddr_3 <= io_in_3_addr; // @[VInst.scala 115:17]
     end
-    vinstValid_0 <= reqvalid_0 & _nxtVinstValid_0_T_6; // @[VInst.scala 131:37]
-    vinstValid_1 <= reqvalid_1 & _nxtVinstValid_1_T_6; // @[VInst.scala 131:37]
-    vinstValid_2 <= reqvalid_2 & _nxtVinstValid_2_T_6; // @[VInst.scala 131:37]
-    vinstValid_3 <= reqvalid_3 & _nxtVinstValid_3_T_6; // @[VInst.scala 131:37]
-    vinstInst_0 <= io_in_0_inst; // @[VInst.scala 136:18]
-    vinstInst_1 <= io_in_1_inst; // @[VInst.scala 136:18]
-    vinstInst_2 <= io_in_2_inst; // @[VInst.scala 136:18]
-    vinstInst_3 <= io_in_3_inst; // @[VInst.scala 136:18]
+    vinstValid_0 <= reqvalid_0 & _nxtVinstValid_0_T_4; // @[VInst.scala 129:37]
+    vinstValid_1 <= reqvalid_1 & _nxtVinstValid_1_T_4; // @[VInst.scala 129:37]
+    vinstValid_2 <= reqvalid_2 & _nxtVinstValid_2_T_4; // @[VInst.scala 129:37]
+    vinstValid_3 <= reqvalid_3 & _nxtVinstValid_3_T_4; // @[VInst.scala 129:37]
+    vinstInst_0 <= io_in_0_inst; // @[VInst.scala 133:18]
+    vinstInst_1 <= io_in_1_inst; // @[VInst.scala 133:18]
+    vinstInst_2 <= io_in_2_inst; // @[VInst.scala 133:18]
+    vinstInst_3 <= io_in_3_inst; // @[VInst.scala 133:18]
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (_T_2 & ~(_T_19 <= 3'h1)) begin
-          $fatal; // @[VInst.scala 199:11]
+          $fatal; // @[VInst.scala 195:11]
         end
     `ifdef STOP_COND
       end
@@ -33867,8 +32909,8 @@
     `endif
         if (_T_2 & ~(_T_19 <= 3'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VInst.scala:199 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
-            ); // @[VInst.scala 199:11]
+            "Assertion failed\n    at VInst.scala:195 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
+            ); // @[VInst.scala 195:11]
         end
     `ifdef PRINTF_COND
       end
@@ -33879,7 +32921,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_2 & ~(_T_40 <= 3'h1)) begin
-          $fatal; // @[VInst.scala 199:11]
+          $fatal; // @[VInst.scala 195:11]
         end
     `ifdef STOP_COND
       end
@@ -33891,8 +32933,8 @@
     `endif
         if (_T_2 & ~(_T_40 <= 3'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VInst.scala:199 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
-            ); // @[VInst.scala 199:11]
+            "Assertion failed\n    at VInst.scala:195 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
+            ); // @[VInst.scala 195:11]
         end
     `ifdef PRINTF_COND
       end
@@ -33903,7 +32945,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_2 & ~(_T_61 <= 3'h1)) begin
-          $fatal; // @[VInst.scala 199:11]
+          $fatal; // @[VInst.scala 195:11]
         end
     `ifdef STOP_COND
       end
@@ -33915,8 +32957,8 @@
     `endif
         if (_T_2 & ~(_T_61 <= 3'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VInst.scala:199 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
-            ); // @[VInst.scala 199:11]
+            "Assertion failed\n    at VInst.scala:195 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
+            ); // @[VInst.scala 195:11]
         end
     `ifdef PRINTF_COND
       end
@@ -33927,7 +32969,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_2 & ~(_T_82 <= 3'h1)) begin
-          $fatal; // @[VInst.scala 199:11]
+          $fatal; // @[VInst.scala 195:11]
         end
     `ifdef STOP_COND
       end
@@ -33939,8 +32981,8 @@
     `endif
         if (_T_2 & ~(_T_82 <= 3'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VInst.scala:199 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
-            ); // @[VInst.scala 199:11]
+            "Assertion failed\n    at VInst.scala:195 assert(PopCount(Cat(p_x, p_xx, lp_xx, sp_xx, qp_xx, tp_xx)) <= 1.U)\n"
+            ); // @[VInst.scala 195:11]
         end
     `ifdef PRINTF_COND
       end
@@ -33951,7 +32993,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_2 & ~(~(slice_io_in_valid & ~slice_io_in_ready))) begin
-          $fatal; // @[VInst.scala 257:9]
+          $fatal; // @[VInst.scala 253:9]
         end
     `ifdef STOP_COND
       end
@@ -33963,7 +33005,7 @@
     `endif
         if (_T_2 & ~(~(slice_io_in_valid & ~slice_io_in_ready))) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VInst.scala:257 assert(!(slice.io.in.valid && !slice.io.in.ready))\n"); // @[VInst.scala 257:9]
+            "Assertion failed\n    at VInst.scala:253 assert(!(slice.io.in.valid && !slice.io.in.ready))\n"); // @[VInst.scala 253:9]
         end
     `ifdef PRINTF_COND
       end
@@ -33974,7 +33016,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_2 & ~(~(vvalid & _T_108))) begin
-          $fatal; // @[VInst.scala 275:9]
+          $fatal; // @[VInst.scala 271:9]
         end
     `ifdef STOP_COND
       end
@@ -33985,7 +33027,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (_T_2 & ~(~(vvalid & _T_108))) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at VInst.scala:275 assert(!(vvalid && !slice.io.in.ready))\n"); // @[VInst.scala 275:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at VInst.scala:271 assert(!(vvalid && !slice.io.in.ready))\n"); // @[VInst.scala 271:9]
         end
     `ifdef PRINTF_COND
       end
@@ -33993,182 +33035,154 @@
     `endif // SYNTHESIS
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 143:55]
+    if (reset) begin // @[VInst.scala 140:55]
       vld_u_0 <= 1'h0;
     end else begin
       vld_u_0 <= _vld_o_0_T_1 & p;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 143:55]
+    if (reset) begin // @[VInst.scala 140:55]
       vld_u_1 <= 1'h0;
     end else begin
       vld_u_1 <= _vld_o_1_T_1 & p_1;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 143:55]
+    if (reset) begin // @[VInst.scala 140:55]
       vld_u_2 <= 1'h0;
     end else begin
       vld_u_2 <= _vld_o_2_T_1 & p_2;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 143:55]
+    if (reset) begin // @[VInst.scala 140:55]
       vld_u_3 <= 1'h0;
     end else begin
       vld_u_3 <= _vld_o_3_T_1 & p_3;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 145:61]
+    if (reset) begin // @[VInst.scala 142:61]
       vst_u_0 <= 1'h0;
     end else begin
       vst_u_0 <= _vst_o_0_T_1 & p & ~q;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 145:61]
+    if (reset) begin // @[VInst.scala 142:61]
       vst_u_1 <= 1'h0;
     end else begin
       vst_u_1 <= _vst_o_1_T_1 & p_1 & ~q_1;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 145:61]
+    if (reset) begin // @[VInst.scala 142:61]
       vst_u_2 <= 1'h0;
     end else begin
       vst_u_2 <= _vst_o_2_T_1 & p_2 & ~q_2;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 145:61]
+    if (reset) begin // @[VInst.scala 142:61]
       vst_u_3 <= 1'h0;
     end else begin
       vst_u_3 <= _vst_o_3_T_1 & p_3 & ~q_3;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 146:61]
+    if (reset) begin // @[VInst.scala 143:61]
       vst_q_0 <= 1'h0;
     end else begin
       vst_q_0 <= _vst_u_0_T_2 & q;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 146:61]
+    if (reset) begin // @[VInst.scala 143:61]
       vst_q_1 <= 1'h0;
     end else begin
       vst_q_1 <= _vst_u_1_T_2 & q_1;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 146:61]
+    if (reset) begin // @[VInst.scala 143:61]
       vst_q_2 <= 1'h0;
     end else begin
       vst_q_2 <= _vst_u_2_T_2 & q_2;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 146:61]
+    if (reset) begin // @[VInst.scala 143:61]
       vst_q_3 <= 1'h0;
     end else begin
       vst_q_3 <= _vst_u_3_T_2 & q_3;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 147:29]
-      vfop_0 <= 1'h0;
-    end else begin
-      vfop_0 <= reqvalid_0 & io_in_0_op[5];
-    end
-  end
-  always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 147:29]
-      vfop_1 <= 1'h0;
-    end else begin
-      vfop_1 <= reqvalid_1 & io_in_1_op[5];
-    end
-  end
-  always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 147:29]
-      vfop_2 <= 1'h0;
-    end else begin
-      vfop_2 <= reqvalid_2 & io_in_2_op[5];
-    end
-  end
-  always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 147:29]
-      vfop_3 <= 1'h0;
-    end else begin
-      vfop_3 <= reqvalid_3 & io_in_3_op[5];
-    end
-  end
-  always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 148:29]
+    if (reset) begin // @[VInst.scala 144:29]
       getvl_0 <= 1'h0;
     end else begin
       getvl_0 <= reqvalid_0 & io_in_0_op[0];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 148:29]
+    if (reset) begin // @[VInst.scala 144:29]
       getvl_1 <= 1'h0;
     end else begin
       getvl_1 <= reqvalid_1 & io_in_1_op[0];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 148:29]
+    if (reset) begin // @[VInst.scala 144:29]
       getvl_2 <= 1'h0;
     end else begin
       getvl_2 <= reqvalid_2 & io_in_2_op[0];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 148:29]
+    if (reset) begin // @[VInst.scala 144:29]
       getvl_3 <= 1'h0;
     end else begin
       getvl_3 <= reqvalid_3 & io_in_3_op[0];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 149:32]
+    if (reset) begin // @[VInst.scala 145:32]
       getmaxvl_0 <= 1'h0;
     end else begin
       getmaxvl_0 <= reqvalid_0 & io_in_0_op[1];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 149:32]
+    if (reset) begin // @[VInst.scala 145:32]
       getmaxvl_1 <= 1'h0;
     end else begin
       getmaxvl_1 <= reqvalid_1 & io_in_1_op[1];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 149:32]
+    if (reset) begin // @[VInst.scala 145:32]
       getmaxvl_2 <= 1'h0;
     end else begin
       getmaxvl_2 <= reqvalid_2 & io_in_2_op[1];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 149:32]
+    if (reset) begin // @[VInst.scala 145:32]
       getmaxvl_3 <= 1'h0;
     end else begin
       getmaxvl_3 <= reqvalid_3 & io_in_3_op[1];
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 128:34]
+    if (reset) begin // @[VInst.scala 126:34]
       vvalid <= 1'h0;
     end else begin
       vvalid <= _vvalid_T != 4'h0;
     end
   end
   always @(posedge clock or posedge reset) begin
-    if (reset) begin // @[VInst.scala 283:38]
+    if (reset) begin // @[VInst.scala 279:38]
       nempty <= 1'h0;
     end else begin
       nempty <= _nempty_T_2 | vvalid | io_out_valid;
@@ -34235,57 +33249,49 @@
   _RAND_11 = {1{`RANDOM}};
   vst_q_3 = _RAND_11[0:0];
   _RAND_12 = {1{`RANDOM}};
-  vfop_0 = _RAND_12[0:0];
+  getvl_0 = _RAND_12[0:0];
   _RAND_13 = {1{`RANDOM}};
-  vfop_1 = _RAND_13[0:0];
+  getvl_1 = _RAND_13[0:0];
   _RAND_14 = {1{`RANDOM}};
-  vfop_2 = _RAND_14[0:0];
+  getvl_2 = _RAND_14[0:0];
   _RAND_15 = {1{`RANDOM}};
-  vfop_3 = _RAND_15[0:0];
+  getvl_3 = _RAND_15[0:0];
   _RAND_16 = {1{`RANDOM}};
-  getvl_0 = _RAND_16[0:0];
+  getmaxvl_0 = _RAND_16[0:0];
   _RAND_17 = {1{`RANDOM}};
-  getvl_1 = _RAND_17[0:0];
+  getmaxvl_1 = _RAND_17[0:0];
   _RAND_18 = {1{`RANDOM}};
-  getvl_2 = _RAND_18[0:0];
+  getmaxvl_2 = _RAND_18[0:0];
   _RAND_19 = {1{`RANDOM}};
-  getvl_3 = _RAND_19[0:0];
+  getmaxvl_3 = _RAND_19[0:0];
   _RAND_20 = {1{`RANDOM}};
-  getmaxvl_0 = _RAND_20[0:0];
+  rdAddr_0 = _RAND_20[4:0];
   _RAND_21 = {1{`RANDOM}};
-  getmaxvl_1 = _RAND_21[0:0];
+  rdAddr_1 = _RAND_21[4:0];
   _RAND_22 = {1{`RANDOM}};
-  getmaxvl_2 = _RAND_22[0:0];
+  rdAddr_2 = _RAND_22[4:0];
   _RAND_23 = {1{`RANDOM}};
-  getmaxvl_3 = _RAND_23[0:0];
+  rdAddr_3 = _RAND_23[4:0];
   _RAND_24 = {1{`RANDOM}};
-  rdAddr_0 = _RAND_24[4:0];
+  vvalid = _RAND_24[0:0];
   _RAND_25 = {1{`RANDOM}};
-  rdAddr_1 = _RAND_25[4:0];
+  vinstValid_0 = _RAND_25[0:0];
   _RAND_26 = {1{`RANDOM}};
-  rdAddr_2 = _RAND_26[4:0];
+  vinstValid_1 = _RAND_26[0:0];
   _RAND_27 = {1{`RANDOM}};
-  rdAddr_3 = _RAND_27[4:0];
+  vinstValid_2 = _RAND_27[0:0];
   _RAND_28 = {1{`RANDOM}};
-  vvalid = _RAND_28[0:0];
+  vinstValid_3 = _RAND_28[0:0];
   _RAND_29 = {1{`RANDOM}};
-  vinstValid_0 = _RAND_29[0:0];
+  vinstInst_0 = _RAND_29[31:0];
   _RAND_30 = {1{`RANDOM}};
-  vinstValid_1 = _RAND_30[0:0];
+  vinstInst_1 = _RAND_30[31:0];
   _RAND_31 = {1{`RANDOM}};
-  vinstValid_2 = _RAND_31[0:0];
+  vinstInst_2 = _RAND_31[31:0];
   _RAND_32 = {1{`RANDOM}};
-  vinstValid_3 = _RAND_32[0:0];
+  vinstInst_3 = _RAND_32[31:0];
   _RAND_33 = {1{`RANDOM}};
-  vinstInst_0 = _RAND_33[31:0];
-  _RAND_34 = {1{`RANDOM}};
-  vinstInst_1 = _RAND_34[31:0];
-  _RAND_35 = {1{`RANDOM}};
-  vinstInst_2 = _RAND_35[31:0];
-  _RAND_36 = {1{`RANDOM}};
-  vinstInst_3 = _RAND_36[31:0];
-  _RAND_37 = {1{`RANDOM}};
-  nempty = _RAND_37[0:0];
+  nempty = _RAND_33[0:0];
 `endif // RANDOMIZE_REG_INIT
   if (reset) begin
     vld_u_0 = 1'h0;
@@ -34324,18 +33330,6 @@
     vst_q_3 = 1'h0;
   end
   if (reset) begin
-    vfop_0 = 1'h0;
-  end
-  if (reset) begin
-    vfop_1 = 1'h0;
-  end
-  if (reset) begin
-    vfop_2 = 1'h0;
-  end
-  if (reset) begin
-    vfop_3 = 1'h0;
-  end
-  if (reset) begin
     getvl_0 = 1'h0;
   end
   if (reset) begin
@@ -36343,64 +35337,62 @@
   wire [5:0] vtbits = io_in_inst[25:20]; // @[VDecodeInstruction.scala 36:20]
   wire  quad = m & x; // @[VDecodeInstruction.scala 39:16]
   wire  uncached = io_in_addr[31]; // @[VDecodeInstruction.scala 41:22]
-  wire  vdup_bit = ~io_in_inst[31]; // @[Library.scala 310:19]
-  wire  vdup_bit_1 = io_in_inst[30]; // @[Library.scala 313:23]
-  wire  _vdup_T_1 = vdup_bit & vdup_bit_1; // @[Library.scala 314:48]
-  wire  vdup_bit_2 = ~io_in_inst[29]; // @[Library.scala 310:19]
-  wire  _vdup_T_2 = _vdup_T_1 & vdup_bit_2; // @[Library.scala 311:48]
-  wire  vdup_bit_3 = ~io_in_inst[28]; // @[Library.scala 310:19]
-  wire  vdup_bit_4 = ~io_in_inst[27]; // @[Library.scala 310:19]
-  wire  vdup_bit_5 = io_in_inst[26]; // @[Library.scala 316:23]
-  wire  vdup_bit_6 = ~io_in_inst[25]; // @[Library.scala 310:19]
-  wire  vdup_bit_7 = io_in_inst[24]; // @[Library.scala 316:23]
-  wire  vdup_bit_8 = io_in_inst[23]; // @[Library.scala 316:23]
-  wire  vdup_bit_9 = io_in_inst[22]; // @[Library.scala 316:23]
-  wire  vdup_bit_10 = io_in_inst[21]; // @[Library.scala 316:23]
-  wire  vdup_bit_11 = io_in_inst[20]; // @[Library.scala 316:23]
-  wire  vdup_bit_12 = ~io_in_inst[19]; // @[Library.scala 310:19]
-  wire  vdup_bit_13 = ~io_in_inst[18]; // @[Library.scala 310:19]
-  wire  vdup_bit_14 = ~io_in_inst[17]; // @[Library.scala 310:19]
-  wire  vdup_bit_15 = ~io_in_inst[16]; // @[Library.scala 310:19]
-  wire  vdup_bit_16 = ~io_in_inst[15]; // @[Library.scala 310:19]
-  wire  vdup_bit_17 = ~io_in_inst[14]; // @[Library.scala 310:19]
+  wire  vdup_bit = ~io_in_inst[31]; // @[Library.scala 312:19]
+  wire  vdup_bit_1 = io_in_inst[30]; // @[Library.scala 315:23]
+  wire  _vdup_T_1 = vdup_bit & vdup_bit_1; // @[Library.scala 316:48]
+  wire  vdup_bit_2 = ~io_in_inst[29]; // @[Library.scala 312:19]
+  wire  _vdup_T_2 = _vdup_T_1 & vdup_bit_2; // @[Library.scala 313:48]
+  wire  vdup_bit_3 = ~io_in_inst[28]; // @[Library.scala 312:19]
+  wire  vdup_bit_4 = ~io_in_inst[27]; // @[Library.scala 312:19]
+  wire  vdup_bit_5 = io_in_inst[26]; // @[Library.scala 318:23]
+  wire  vdup_bit_6 = ~io_in_inst[25]; // @[Library.scala 312:19]
+  wire  vdup_bit_7 = io_in_inst[24]; // @[Library.scala 318:23]
+  wire  vdup_bit_8 = io_in_inst[23]; // @[Library.scala 318:23]
+  wire  vdup_bit_9 = io_in_inst[22]; // @[Library.scala 318:23]
+  wire  vdup_bit_10 = io_in_inst[21]; // @[Library.scala 318:23]
+  wire  vdup_bit_11 = io_in_inst[20]; // @[Library.scala 318:23]
+  wire  vdup_bit_12 = ~io_in_inst[19]; // @[Library.scala 312:19]
+  wire  vdup_bit_13 = ~io_in_inst[18]; // @[Library.scala 312:19]
+  wire  vdup_bit_14 = ~io_in_inst[17]; // @[Library.scala 312:19]
+  wire  vdup_bit_15 = ~io_in_inst[16]; // @[Library.scala 312:19]
+  wire  vdup_bit_16 = ~io_in_inst[15]; // @[Library.scala 312:19]
+  wire  vdup_bit_17 = ~io_in_inst[14]; // @[Library.scala 312:19]
   wire  _vdup_T_11 = _vdup_T_1 & vdup_bit_2 & vdup_bit_3 & vdup_bit_4 & vdup_bit_6 & vdup_bit_12 & vdup_bit_13 &
-    vdup_bit_14 & vdup_bit_15 & vdup_bit_16 & vdup_bit_17; // @[Library.scala 311:48]
-  wire  vdup_bit_18 = io_in_inst[13]; // @[Library.scala 316:23]
-  wire  vdup_bit_19 = io_in_inst[12]; // @[Library.scala 316:23]
-  wire  vdup_bit_27 = io_in_inst[4]; // @[Library.scala 313:23]
-  wire  vdup_bit_28 = io_in_inst[3]; // @[Library.scala 313:23]
-  wire  _vdup_T_16 = _vdup_T_11 & vdup_bit_27 & vdup_bit_28 & x3 & x & v; // @[Library.scala 314:48]
-  wire  _vdup_T_17 = sz < 2'h3; // @[VDecodeInstruction.scala 233:80]
-  wire  vdup = _vdup_T_16 & sz < 2'h3; // @[VDecodeInstruction.scala 233:74]
-  wire  vdupf2 = io_in_inst[31:27] == 5'h8; // @[VDecodeInstruction.scala 234:28]
-  wire  _vldstdec_T_1 = vdup_bit_6 & vdup_bit_17; // @[Library.scala 311:48]
-  wire  _vldstdec_T_6 = _vldstdec_T_1 & vdup_bit_27 & vdup_bit_28 & x3 & x & v; // @[Library.scala 314:48]
-  wire  vldstdec = _vldstdec_T_6 & _vdup_T_17 & ~vdupf2; // @[VDecodeInstruction.scala 237:90]
-  wire  _T_3 = ~reset; // @[VDecodeInstruction.scala 238:9]
-  wire  _vld_T = func2 == 6'h0; // @[VDecodeInstruction.scala 240:33]
-  wire  _vld_T_1 = func2 == 6'h1; // @[VDecodeInstruction.scala 240:50]
-  wire  _vld_T_3 = func2 == 6'h2; // @[VDecodeInstruction.scala 240:67]
-  wire  _vld_T_5 = func2 == 6'h4; // @[VDecodeInstruction.scala 241:33]
-  wire  _vld_T_6 = func2 == 6'h0 | func2 == 6'h1 | func2 == 6'h2 | _vld_T_5; // @[VDecodeInstruction.scala 240:75]
-  wire  _vld_T_7 = func2 == 6'h5; // @[VDecodeInstruction.scala 241:50]
-  wire  _vld_T_9 = func2 == 6'h6; // @[VDecodeInstruction.scala 241:67]
-  wire  _vld_T_11 = func2 == 6'h7; // @[VDecodeInstruction.scala 242:33]
-  wire  _vld_T_12 = _vld_T_6 | func2 == 6'h5 | func2 == 6'h6 | _vld_T_11; // @[VDecodeInstruction.scala 241:75]
-  wire  vld = vldstdec & _vld_T_12; // @[VDecodeInstruction.scala 240:23]
-  wire  _vst_T = func2 == 6'h8; // @[VDecodeInstruction.scala 244:33]
-  wire  _vst_T_1 = func2 == 6'h9; // @[VDecodeInstruction.scala 244:50]
-  wire  _vst_T_3 = func2 == 6'ha; // @[VDecodeInstruction.scala 244:67]
-  wire  _vst_T_5 = func2 == 6'hc; // @[VDecodeInstruction.scala 245:33]
-  wire  _vst_T_6 = func2 == 6'h8 | func2 == 6'h9 | func2 == 6'ha | _vst_T_5; // @[VDecodeInstruction.scala 244:76]
-  wire  _vst_T_7 = func2 == 6'hd; // @[VDecodeInstruction.scala 245:51]
-  wire  _vst_T_9 = func2 == 6'he; // @[VDecodeInstruction.scala 245:69]
-  wire  _vst_T_11 = func2 == 6'hf; // @[VDecodeInstruction.scala 246:33]
-  wire  _vst_T_12 = _vst_T_6 | func2 == 6'hd | func2 == 6'he | _vst_T_11; // @[VDecodeInstruction.scala 245:78]
-  wire  vst = vldstdec & _vst_T_12; // @[VDecodeInstruction.scala 244:23]
-  wire  _vstq_T = func2 == 6'h1a; // @[VDecodeInstruction.scala 248:33]
-  wire  vstq = vldstdec & (func2 == 6'h1a | func2 == 6'h1e); // @[VDecodeInstruction.scala 248:23]
-  wire  vldst = vld | vst | vstq; // @[VDecodeInstruction.scala 250:26]
-  wire  _vadd_T = ~v; // @[VDecodeInstruction.scala 46:7]
+    vdup_bit_14 & vdup_bit_15 & vdup_bit_16 & vdup_bit_17; // @[Library.scala 313:48]
+  wire  vdup_bit_18 = io_in_inst[13]; // @[Library.scala 318:23]
+  wire  vdup_bit_19 = io_in_inst[12]; // @[Library.scala 318:23]
+  wire  vdup_bit_27 = io_in_inst[4]; // @[Library.scala 315:23]
+  wire  vdup_bit_28 = io_in_inst[3]; // @[Library.scala 315:23]
+  wire  _vdup_T_16 = _vdup_T_11 & vdup_bit_27 & vdup_bit_28 & x3 & x & v; // @[Library.scala 316:48]
+  wire  _vdup_T_17 = sz < 2'h3; // @[VDecodeInstruction.scala 228:80]
+  wire  vdup = _vdup_T_16 & sz < 2'h3; // @[VDecodeInstruction.scala 228:74]
+  wire  vdupf2 = io_in_inst[31:27] == 5'h8; // @[VDecodeInstruction.scala 229:28]
+  wire  _vldstdec_T_1 = vdup_bit_6 & vdup_bit_17; // @[Library.scala 313:48]
+  wire  _vldstdec_T_6 = _vldstdec_T_1 & vdup_bit_27 & vdup_bit_28 & x3 & x & v; // @[Library.scala 316:48]
+  wire  vldstdec = _vldstdec_T_6 & _vdup_T_17 & ~vdupf2; // @[VDecodeInstruction.scala 232:90]
+  wire  _T_3 = ~reset; // @[VDecodeInstruction.scala 233:9]
+  wire  _vld_T = func2 == 6'h0; // @[VDecodeInstruction.scala 235:33]
+  wire  _vld_T_1 = func2 == 6'h1; // @[VDecodeInstruction.scala 235:50]
+  wire  _vld_T_3 = func2 == 6'h2; // @[VDecodeInstruction.scala 235:67]
+  wire  _vld_T_5 = func2 == 6'h4; // @[VDecodeInstruction.scala 236:33]
+  wire  _vld_T_6 = func2 == 6'h0 | func2 == 6'h1 | func2 == 6'h2 | _vld_T_5; // @[VDecodeInstruction.scala 235:75]
+  wire  _vld_T_7 = func2 == 6'h5; // @[VDecodeInstruction.scala 236:50]
+  wire  _vld_T_9 = func2 == 6'h6; // @[VDecodeInstruction.scala 236:67]
+  wire  _vld_T_11 = func2 == 6'h7; // @[VDecodeInstruction.scala 237:33]
+  wire  _vld_T_12 = _vld_T_6 | func2 == 6'h5 | func2 == 6'h6 | _vld_T_11; // @[VDecodeInstruction.scala 236:75]
+  wire  vld = vldstdec & _vld_T_12; // @[VDecodeInstruction.scala 235:23]
+  wire  _vst_T = func2 == 6'h8; // @[VDecodeInstruction.scala 239:33]
+  wire  _vst_T_1 = func2 == 6'h9; // @[VDecodeInstruction.scala 239:50]
+  wire  _vst_T_3 = func2 == 6'ha; // @[VDecodeInstruction.scala 239:67]
+  wire  _vst_T_5 = func2 == 6'hc; // @[VDecodeInstruction.scala 240:33]
+  wire  _vst_T_6 = func2 == 6'h8 | func2 == 6'h9 | func2 == 6'ha | _vst_T_5; // @[VDecodeInstruction.scala 239:76]
+  wire  _vst_T_7 = func2 == 6'hd; // @[VDecodeInstruction.scala 240:51]
+  wire  _vst_T_11 = func2 == 6'hf; // @[VDecodeInstruction.scala 241:33]
+  wire  _vst_T_12 = _vst_T_6 | func2 == 6'hd | func2 == 6'he | _vst_T_11; // @[VDecodeInstruction.scala 240:78]
+  wire  vst = vldstdec & _vst_T_12; // @[VDecodeInstruction.scala 239:23]
+  wire  _vstq_T = func2 == 6'h1a; // @[VDecodeInstruction.scala 243:33]
+  wire  vstq = vldstdec & (func2 == 6'h1a | func2 == 6'h1e); // @[VDecodeInstruction.scala 243:23]
+  wire  vldst = vld | vst | vstq; // @[VDecodeInstruction.scala 245:26]
   wire  vadd = ~v & func1 == 3'h0 & _vld_T & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vsub = ~v & func1 == 3'h0 & _vld_T_1 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vrsub = ~v & func1 == 3'h0 & _vld_T_3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
@@ -36414,13 +35406,11 @@
   wire  vabsd = ~v & func1 == 3'h0 & _vlt_T_3 == 6'h10 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vmax = ~v & func1 == 3'h0 & _vlt_T_3 == 6'h12 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vmin = ~v & func1 == 3'h0 & _vlt_T_3 == 6'h14 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  _vadd3_T_5 = func2 == 6'h18; // @[VDecodeInstruction.scala 46:49]
   wire  vadd3 = ~v & func1 == 3'h0 & func2 == 6'h18 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vfmt0 = vadd | vsub | vrsub | veq | vne | vlt | vle | vgt | vge | vabsd | vmax | vmin | vadd3; // @[VDecodeInstruction.scala 267:104]
+  wire  vfmt0 = vadd | vsub | vrsub | veq | vne | vlt | vle | vgt | vge | vabsd | vmax | vmin | vadd3; // @[VDecodeInstruction.scala 262:104]
   wire  vand = ~v & func1 == 3'h1 & _vld_T & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vor = ~v & func1 == 3'h1 & _vld_T_1 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vxor = ~v & func1 == 3'h1 & _vld_T_3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  _vnot_T_5 = func2 == 6'h3; // @[VDecodeInstruction.scala 46:49]
   wire  vnot = ~v & func1 == 3'h1 & func2 == 6'h3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vrev = ~v & func1 == 3'h1 & _vld_T_5 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vror = ~v & func1 == 3'h1 & _vld_T_7 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
@@ -36428,20 +35418,17 @@
   wire  vclz = ~v & func1 == 3'h1 & _vst_T_1 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vcpop = ~v & func1 == 3'h1 & _vst_T_3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  _vmv_T_8 = ~v & func1 == 3'h1 & _vst_T_5 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  _vmv_T_9 = ~quad; // @[VDecodeInstruction.scala 279:40]
-  wire  vmv = _vmv_T_8 & ~quad; // @[VDecodeInstruction.scala 279:37]
-  wire  vmv2 = _vmv_T_8 & quad; // @[VDecodeInstruction.scala 280:37]
+  wire  _vmv_T_9 = ~quad; // @[VDecodeInstruction.scala 274:40]
+  wire  vmv = _vmv_T_8 & ~quad; // @[VDecodeInstruction.scala 274:37]
+  wire  vmv2 = _vmv_T_8 & quad; // @[VDecodeInstruction.scala 275:37]
   wire  vmvp = ~v & func1 == 3'h1 & _vst_T_7 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vfmt1 = vand | vor | vxor | vnot | vrev | vror | vclb | vclz | vcpop | vmv | vmv2 | vmvp; // @[VDecodeInstruction.scala 283:99]
-  wire  _acset_T_5 = func2 == 6'h10; // @[VDecodeInstruction.scala 46:49]
+  wire  vfmt1 = vand | vor | vxor | vnot | vrev | vror | vclb | vclz | vcpop | vmv | vmv2 | vmvp; // @[VDecodeInstruction.scala 278:99]
   wire  _acset_T_8 = ~v & func1 == 3'h1 & func2 == 6'h10 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  _acset_T_10 = ~m; // @[VDecodeInstruction.scala 286:49]
-  wire  _acset_T_12 = vtbits == 6'h0; // @[VDecodeInstruction.scala 286:62]
-  wire  acset = _acset_T_8 & x & ~m & vtbits == 6'h0; // @[VDecodeInstruction.scala 286:52]
-  wire  _actr_T_5 = func2 == 6'h11; // @[VDecodeInstruction.scala 46:49]
+  wire  _acset_T_10 = ~m; // @[VDecodeInstruction.scala 281:49]
+  wire  _acset_T_12 = vtbits == 6'h0; // @[VDecodeInstruction.scala 281:62]
+  wire  acset = _acset_T_8 & x & ~m & vtbits == 6'h0; // @[VDecodeInstruction.scala 281:52]
   wire  _actr_T_8 = ~v & func1 == 3'h1 & func2 == 6'h11 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  actr = _actr_T_8 & x & _acset_T_10 & _acset_T_12; // @[VDecodeInstruction.scala 287:52]
-  wire  _adwinit_T_5 = func2 == 6'h12; // @[VDecodeInstruction.scala 46:49]
+  wire  actr = _actr_T_8 & x & _acset_T_10 & _acset_T_12; // @[VDecodeInstruction.scala 282:52]
   wire  adwinit = ~v & func1 == 3'h1 & func2 == 6'h12 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vsll = ~v & func1 == 3'h2 & _vld_T_1 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vsra = ~v & func1 == 3'h2 & _vld_T_3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
@@ -36452,29 +35439,27 @@
   wire [5:0] _vsrans_T_3 = func2 & 6'h3c; // @[VDecodeInstruction.scala 46:43]
   wire  vsrans = ~v & func1 == 3'h2 & _vsrans_T_3 == 6'h10 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vsraqs = ~v & func1 == 3'h2 & _vsrans_T_3 == 6'h18 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vfmt2 = vsll | vsra | vsrl | vsha | vshl | vsrans | vsraqs; // @[VDecodeInstruction.scala 299:62]
+  wire  vfmt2 = vsll | vsra | vsrl | vsha | vshl | vsrans | vsraqs; // @[VDecodeInstruction.scala 294:62]
   wire  _vmul_T_8 = ~v & func1 == 3'h3 & _vld_T & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vmul = _vmul_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 302:40]
-  wire  vmul2 = _vmul_T_8 & quad; // @[VDecodeInstruction.scala 303:40]
+  wire  vmul = _vmul_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 297:40]
+  wire  vmul2 = _vmul_T_8 & quad; // @[VDecodeInstruction.scala 298:40]
   wire  _vmuls_T_8 = ~v & func1 == 3'h3 & _vlt_T_3 == 6'h2 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vmuls = _vmuls_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 304:44]
-  wire  vmuls2 = _vmuls_T_8 & quad; // @[VDecodeInstruction.scala 305:44]
+  wire  vmuls = _vmuls_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 299:44]
+  wire  vmuls2 = _vmuls_T_8 & quad; // @[VDecodeInstruction.scala 300:44]
   wire  _vmulh_T_8 = ~v & func1 == 3'h3 & _vsha_T_3 == 6'h8 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vmulh = _vmulh_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 306:44]
-  wire  vmulh2 = _vmulh_T_8 & quad; // @[VDecodeInstruction.scala 307:44]
+  wire  vmulh = _vmulh_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 301:44]
+  wire  vmulh2 = _vmulh_T_8 & quad; // @[VDecodeInstruction.scala 302:44]
   wire  _vmulhu_T_8 = ~v & func1 == 3'h3 & _vsha_T_3 == 6'h9 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vmulhu = _vmulhu_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 308:45]
-  wire  vmulhu2 = _vmulhu_T_8 & quad; // @[VDecodeInstruction.scala 309:45]
+  wire  vmulhu = _vmulhu_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 303:45]
+  wire  vmulhu2 = _vmulhu_T_8 & quad; // @[VDecodeInstruction.scala 304:45]
   wire  _vdmulh_T_8 = ~v & func1 == 3'h3 & _vsrans_T_3 == 6'h10 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vdmulh = _vdmulh_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 310:45]
-  wire  vdmulh2 = _vdmulh_T_8 & quad; // @[VDecodeInstruction.scala 311:45]
+  wire  vdmulh = _vdmulh_T_8 & _vmv_T_9; // @[VDecodeInstruction.scala 305:45]
+  wire  vdmulh2 = _vdmulh_T_8 & quad; // @[VDecodeInstruction.scala 306:45]
   wire  vmulw = ~v & func1 == 3'h3 & _vlt_T_3 == 6'h4 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vmacc = ~v & func1 == 3'h3 & func2 == 6'h14 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vmadd = ~v & func1 == 3'h3 & func2 == 6'h15 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vdiv = ~v & func1 == 3'h3 & _vlt_T_3 == 6'h18 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vrem = ~v & func1 == 3'h3 & _vlt_T_3 == 6'h1a & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vfmt3 = vmul | vmul2 | vmuls | vmuls2 | vmulh | vmulh2 | vmulhu | vmulhu2 | vdmulh | vdmulh2 | vmulw | vmacc |
-    vmadd | vdiv | vrem; // @[VDecodeInstruction.scala 318:144]
+    vmadd; // @[VDecodeInstruction.scala 311:127]
   wire  vadds = ~v & func1 == 3'h4 & _vlt_T_3 == 6'h0 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vsubs = ~v & func1 == 3'h4 & _vlt_T_3 == 6'h2 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vaddw = ~v & func1 == 3'h4 & _vlt_T_3 == 6'h4 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
@@ -36484,111 +35469,65 @@
   wire  vpsub = ~v & func1 == 3'h4 & _vlt_T_3 == 6'he & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vhadd = ~v & func1 == 3'h4 & _vsrans_T_3 == 6'h10 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vhsub = ~v & func1 == 3'h4 & _vsrans_T_3 == 6'h14 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vfmt4 = vadds | vsubs | vaddw | vsubw | vacc | vpadd | vpsub | vhadd | vhsub; // @[VDecodeInstruction.scala 331:83]
-  wire  _vfadd_T_5 = sz == 2'h2; // @[VDecodeInstruction.scala 51:56]
-  wire  vfadd = _vadd_T & func1 == 3'h5 & _vld_T & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfsub = _vadd_T & func1 == 3'h5 & _vld_T_1 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfmul = _vadd_T & func1 == 3'h5 & _vld_T_3 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfabsd = _vadd_T & func1 == 3'h5 & _vnot_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfmadd = _vadd_T & func1 == 3'h5 & _vld_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfmsub = _vadd_T & func1 == 3'h5 & _vld_T_7 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfnmsub = _vadd_T & func1 == 3'h5 & _vld_T_9 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfnmadd = _vadd_T & func1 == 3'h5 & _vld_T_11 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfdiv = _vadd_T & func1 == 3'h5 & _vst_T & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfrdiv = _vadd_T & func1 == 3'h5 & _vst_T_1 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfsqrt = _vadd_T & func1 == 3'h5 & _vst_T_3 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfsgnj = _vadd_T & func1 == 3'h5 & func2 == 6'hb & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfsgnjn = _vadd_T & func1 == 3'h5 & _vst_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfsgnjx = _vadd_T & func1 == 3'h5 & _vst_T_7 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfmin = _vadd_T & func1 == 3'h5 & _vst_T_9 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfmax = _vadd_T & func1 == 3'h5 & _vst_T_11 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfcvt_s_w = _vadd_T & func1 == 3'h5 & _acset_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfcvt_s_wu = _vadd_T & func1 == 3'h5 & _actr_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfcvt_w_s = _vadd_T & func1 == 3'h5 & _adwinit_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfcvt_wu_s = _vadd_T & func1 == 3'h5 & func2 == 6'h13 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vflt = _vadd_T & func1 == 3'h5 & _vadd3_T_5 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  _vfle_T_3 = func2 == 6'h19; // @[VDecodeInstruction.scala 51:41]
-  wire  vfle = _vadd_T & func1 == 3'h5 & func2 == 6'h19 & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfgt = _vadd_T & func1 == 3'h5 & _vstq_T & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfge = _vadd_T & func1 == 3'h5 & func2 == 6'h1b & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  _vfeq_T_3 = func2 == 6'h1c; // @[VDecodeInstruction.scala 51:41]
-  wire  vfeq = _vadd_T & func1 == 3'h5 & func2 == 6'h1c & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfne = _vadd_T & func1 == 3'h5 & func2 == 6'h1d & sz == 2'h2; // @[VDecodeInstruction.scala 51:50]
-  wire  vfmt5 = vfadd | vfsub | vfmul | vfabsd | vfmadd | vfmsub | vfnmsub | vfnmadd | vfdiv | vfrdiv | vfsqrt | vfsgnj
-     | vfsgnjn | vfsgnjx | vfmin | vfmax | vfcvt_s_w | vfcvt_s_wu | vfcvt_w_s | vfcvt_wu_s | vflt | vfle | vfgt | vfge
-     | vfeq | vfne; // @[VDecodeInstruction.scala 361:240]
+  wire  vfmt4 = vadds | vsubs | vaddw | vsubw | vacc | vpadd | vpsub | vhadd | vhsub; // @[VDecodeInstruction.scala 324:83]
   wire  vslidevn = ~v & func1 == 3'h6 & _vsrans_T_3 == 6'h0 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  _vslidehn_T_8 = ~v & func1 == 3'h6 & _vsrans_T_3 == 6'h4 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vslidehn = _vslidehn_T_8 & _acset_T_10; // @[VDecodeInstruction.scala 365:49]
-  wire  vslidehn2 = _vslidehn_T_8 & m; // @[VDecodeInstruction.scala 366:49]
+  wire  vslidehn = _vslidehn_T_8 & _acset_T_10; // @[VDecodeInstruction.scala 328:49]
+  wire  vslidehn2 = _vslidehn_T_8 & m; // @[VDecodeInstruction.scala 329:49]
   wire  vslidevp = ~v & func1 == 3'h6 & _vsrans_T_3 == 6'h8 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  _vslidehp_T_8 = ~v & func1 == 3'h6 & _vsrans_T_3 == 6'hc & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vslidehp = _vslidehp_T_8 & _acset_T_10; // @[VDecodeInstruction.scala 368:49]
-  wire  vslidehp2 = _vslidehp_T_8 & m; // @[VDecodeInstruction.scala 369:49]
+  wire  vslidehp = _vslidehp_T_8 & _acset_T_10; // @[VDecodeInstruction.scala 331:49]
+  wire  vslidehp2 = _vslidehp_T_8 & m; // @[VDecodeInstruction.scala 332:49]
   wire  vsel = ~v & func1 == 3'h6 & func2 == 6'h10 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vevn = ~v & func1 == 3'h6 & func2 == 6'h18 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vodd = ~v & func1 == 3'h6 & _vfle_T_3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
+  wire  vodd = ~v & func1 == 3'h6 & func2 == 6'h19 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
   wire  vevnodd = ~v & func1 == 3'h6 & _vstq_T & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vzip = ~v & func1 == 3'h6 & _vfeq_T_3 & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
-  wire  vslideh2 = vslidehn2 | vslidehp2; // @[VDecodeInstruction.scala 376:28]
-  wire  vevn3 = vevn | vevnodd | vodd; // @[VDecodeInstruction.scala 377:31]
-  wire  vfmt6 = vslidevn | vslidehn | vslidehn2 | vslidevp | vslidehp | vslidehp2 | vsel | vevn | vodd | vevnodd | vzip; // @[VDecodeInstruction.scala 379:112]
-  wire  vfmadd4_bit_18 = ~vdup_bit_18; // @[Library.scala 310:19]
-  wire  vfmadd4_bit_19 = ~vdup_bit_19; // @[Library.scala 310:19]
-  wire  vfmadd4_bit_27 = ~vdup_bit_27; // @[Library.scala 310:19]
-  wire  vfmadd4_bit_28 = ~vdup_bit_28; // @[Library.scala 310:19]
-  wire  vfmadd4_bit_30 = ~x; // @[Library.scala 310:19]
-  wire  _vfmadd4_T_4 = vfmadd4_bit_18 & vfmadd4_bit_19 & vfmadd4_bit_27 & vfmadd4_bit_28 & vfmadd4_bit_30; // @[Library.scala 311:48]
-  wire  _vfmadd4_T_5 = _vfmadd4_T_4 & v; // @[Library.scala 314:48]
-  wire  vfmadd4 = _vfmadd4_T_5 & ~(x3 & io_in_inst[25]); // @[VDecodeInstruction.scala 382:77]
-  wire  _aconv_T_1 = io_in_inst[25] & vdup_bit_18; // @[Library.scala 314:48]
-  wire  _aconv_T_2 = _aconv_T_1 & vfmadd4_bit_19; // @[Library.scala 311:48]
-  wire  _aconv_T_5 = _aconv_T_1 & vfmadd4_bit_19 & _acset_T_10 & vfmadd4_bit_27 & vfmadd4_bit_28; // @[Library.scala 311:48]
-  wire  _aconv_T_6 = _aconv_T_5 & x3; // @[Library.scala 314:48]
-  wire  _aconv_T_7 = _aconv_T_6 & vfmadd4_bit_30; // @[Library.scala 311:48]
-  wire  aconv = _aconv_T_7 & v; // @[Library.scala 314:48]
-  wire  _vcget_T_3 = _vdup_T_2 & io_in_inst[28]; // @[Library.scala 314:48]
-  wire  vcget_bit_5 = ~vdup_bit_5; // @[Library.scala 310:19]
-  wire  vcget_bit_7 = ~vdup_bit_7; // @[Library.scala 310:19]
-  wire  vcget_bit_8 = ~vdup_bit_8; // @[Library.scala 310:19]
-  wire  vcget_bit_9 = ~vdup_bit_9; // @[Library.scala 310:19]
-  wire  vcget_bit_10 = ~vdup_bit_10; // @[Library.scala 310:19]
-  wire  vcget_bit_11 = ~vdup_bit_11; // @[Library.scala 310:19]
+  wire  vzip = ~v & func1 == 3'h6 & func2 == 6'h1c & _vdup_T_17; // @[VDecodeInstruction.scala 46:65]
+  wire  vslideh2 = vslidehn2 | vslidehp2; // @[VDecodeInstruction.scala 339:28]
+  wire  vevn3 = vevn | vevnodd | vodd; // @[VDecodeInstruction.scala 340:31]
+  wire  vfmt6 = vslidevn | vslidehn | vslidehn2 | vslidevp | vslidehp | vslidehp2 | vsel | vevn | vodd | vevnodd | vzip; // @[VDecodeInstruction.scala 342:112]
+  wire  _aconv_T_1 = io_in_inst[25] & vdup_bit_18; // @[Library.scala 316:48]
+  wire  aconv_bit_19 = ~vdup_bit_19; // @[Library.scala 312:19]
+  wire  _aconv_T_2 = _aconv_T_1 & aconv_bit_19; // @[Library.scala 313:48]
+  wire  aconv_bit_27 = ~vdup_bit_27; // @[Library.scala 312:19]
+  wire  aconv_bit_28 = ~vdup_bit_28; // @[Library.scala 312:19]
+  wire  _aconv_T_5 = _aconv_T_1 & aconv_bit_19 & _acset_T_10 & aconv_bit_27 & aconv_bit_28; // @[Library.scala 313:48]
+  wire  _aconv_T_6 = _aconv_T_5 & x3; // @[Library.scala 316:48]
+  wire  aconv_bit_30 = ~x; // @[Library.scala 312:19]
+  wire  _aconv_T_7 = _aconv_T_6 & aconv_bit_30; // @[Library.scala 313:48]
+  wire  aconv = _aconv_T_7 & v; // @[Library.scala 316:48]
+  wire  _vcget_T_3 = _vdup_T_2 & io_in_inst[28]; // @[Library.scala 316:48]
+  wire  vcget_bit_5 = ~vdup_bit_5; // @[Library.scala 312:19]
+  wire  vcget_bit_7 = ~vdup_bit_7; // @[Library.scala 312:19]
+  wire  vcget_bit_8 = ~vdup_bit_8; // @[Library.scala 312:19]
+  wire  vcget_bit_9 = ~vdup_bit_9; // @[Library.scala 312:19]
+  wire  vcget_bit_10 = ~vdup_bit_10; // @[Library.scala 312:19]
+  wire  vcget_bit_11 = ~vdup_bit_11; // @[Library.scala 312:19]
   wire  _vcget_T_17 = _vcget_T_3 & vdup_bit_4 & vcget_bit_5 & vdup_bit_6 & vcget_bit_7 & vcget_bit_8 & vcget_bit_9 &
-    vcget_bit_10 & vcget_bit_11 & vdup_bit_12 & vdup_bit_13 & vdup_bit_14 & vdup_bit_15 & vdup_bit_16 & vdup_bit_17; // @[Library.scala 311:48]
-  wire  vcget = _vcget_T_17 & vdup_bit_27 & vdup_bit_28 & x3 & x & v; // @[Library.scala 314:48]
-  wire  _vdwconv_T_1 = vdup_bit_6 & vdup_bit_18; // @[Library.scala 314:48]
-  wire  _vdwconv_T_2 = _vdwconv_T_1 & vfmadd4_bit_19; // @[Library.scala 311:48]
-  wire  _vdwconv_T_3 = _vdwconv_T_2 & vdup_bit_27; // @[Library.scala 314:48]
-  wire  _vdwconv_T_4 = _vdwconv_T_3 & vfmadd4_bit_28; // @[Library.scala 311:48]
-  wire  _vdwconv_T_5 = _vdwconv_T_4 & x3; // @[Library.scala 314:48]
-  wire  _vdwconv_T_6 = _vdwconv_T_5 & vfmadd4_bit_30; // @[Library.scala 311:48]
-  wire  vdwconv = _vdwconv_T_6 & v; // @[Library.scala 314:48]
-  wire  _adwconv_T_3 = _aconv_T_2 & vdup_bit_27; // @[Library.scala 314:48]
-  wire  _adwconv_T_4 = _adwconv_T_3 & vfmadd4_bit_28; // @[Library.scala 311:48]
-  wire  _adwconv_T_5 = _adwconv_T_4 & x3; // @[Library.scala 314:48]
-  wire  _adwconv_T_6 = _adwconv_T_5 & vfmadd4_bit_30; // @[Library.scala 311:48]
-  wire  adwconv = _adwconv_T_6 & v; // @[Library.scala 314:48]
-  wire  vadwconv = vdwconv | adwconv; // @[VDecodeInstruction.scala 389:26]
-  wire [5:0] vopbits_lo_lo_lo_lo = {vevnodd,vzip,vfmadd4,aconv,vdwconv,adwconv}; // @[Cat.scala 31:58]
-  wire [12:0] vopbits_lo_lo_lo = {vslidehn2,vslidevp,vslidehp,vslidehp2,vsel,vevn,vodd,vopbits_lo_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] vopbits_lo_lo_hi_lo = {vfgt,vfge,vfeq,vfne,vslidevn,vslidehn}; // @[Cat.scala 31:58]
-  wire [25:0] vopbits_lo_lo = {vfmax,vfcvt_s_w,vfcvt_s_wu,vfcvt_w_s,vfcvt_wu_s,vflt,vfle,vopbits_lo_lo_hi_lo,
-    vopbits_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] vopbits_lo_hi_lo_lo = {vfrdiv,vfsqrt,vfsgnj,vfsgnjn,vfsgnjx,vfmin}; // @[Cat.scala 31:58]
-  wire [12:0] vopbits_lo_hi_lo = {vfmul,vfabsd,vfmadd,vfmsub,vfnmsub,vfnmadd,vfdiv,vopbits_lo_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] vopbits_lo_hi_hi_lo = {vpadd,vpsub,vhadd,vhsub,vfadd,vfsub}; // @[Cat.scala 31:58]
-  wire [51:0] vopbits_lo = {vdiv,vrem,vadds,vsubs,vaddw,vsubw,vacc,vopbits_lo_hi_hi_lo,vopbits_lo_hi_lo,vopbits_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] vopbits_hi_lo_lo_lo = {vmulhu2,vdmulh,vdmulh2,vmulw,vmacc,vmadd}; // @[Cat.scala 31:58]
-  wire [12:0] vopbits_hi_lo_lo = {vmul,vmul2,vmuls,vmuls2,vmulh,vmulh2,vmulhu,vopbits_hi_lo_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] vopbits_hi_lo_hi_lo = {vsra,vsrl,vsha,vshl,vsrans,vsraqs}; // @[Cat.scala 31:58]
-  wire [25:0] vopbits_hi_lo = {vmv,vmv2,vmvp,acset,actr,adwinit,vsll,vopbits_hi_lo_hi_lo,vopbits_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [5:0] vopbits_hi_hi_lo_lo = {vnot,vrev,vror,vclb,vclz,vcpop}; // @[Cat.scala 31:58]
-  wire [12:0] vopbits_hi_hi_lo = {vabsd,vmax,vmin,vadd3,vand,vor,vxor,vopbits_hi_hi_lo_lo}; // @[Cat.scala 31:58]
-  wire [6:0] vopbits_hi_hi_hi_lo = {vrsub,veq,vne,vlt,vle,vgt,vge}; // @[Cat.scala 31:58]
-  wire [52:0] vopbits_hi = {vdup,vld,vst,vstq,vcget,vadd,vsub,vopbits_hi_hi_hi_lo,vopbits_hi_hi_lo,vopbits_hi_lo}; // @[Cat.scala 31:58]
-  wire [104:0] vopbits = {vopbits_hi,vopbits_lo}; // @[Cat.scala 31:58]
-  wire  undef_value__52 = vopbits[104]; // @[Library.scala 182:26]
+    vcget_bit_10 & vcget_bit_11 & vdup_bit_12 & vdup_bit_13 & vdup_bit_14 & vdup_bit_15 & vdup_bit_16 & vdup_bit_17; // @[Library.scala 313:48]
+  wire  vcget = _vcget_T_17 & vdup_bit_27 & vdup_bit_28 & x3 & x & v; // @[Library.scala 316:48]
+  wire  _vdwconv_T_1 = vdup_bit_6 & vdup_bit_18; // @[Library.scala 316:48]
+  wire  _vdwconv_T_2 = _vdwconv_T_1 & aconv_bit_19; // @[Library.scala 313:48]
+  wire  _vdwconv_T_3 = _vdwconv_T_2 & vdup_bit_27; // @[Library.scala 316:48]
+  wire  _vdwconv_T_4 = _vdwconv_T_3 & aconv_bit_28; // @[Library.scala 313:48]
+  wire  _vdwconv_T_5 = _vdwconv_T_4 & x3; // @[Library.scala 316:48]
+  wire  _vdwconv_T_6 = _vdwconv_T_5 & aconv_bit_30; // @[Library.scala 313:48]
+  wire  vdwconv = _vdwconv_T_6 & v; // @[Library.scala 316:48]
+  wire  _adwconv_T_3 = _aconv_T_2 & vdup_bit_27; // @[Library.scala 316:48]
+  wire  _adwconv_T_4 = _adwconv_T_3 & aconv_bit_28; // @[Library.scala 313:48]
+  wire  _adwconv_T_5 = _adwconv_T_4 & x3; // @[Library.scala 316:48]
+  wire  _adwconv_T_6 = _adwconv_T_5 & aconv_bit_30; // @[Library.scala 313:48]
+  wire  adwconv = _adwconv_T_6 & v; // @[Library.scala 316:48]
+  wire  vadwconv = vdwconv | adwconv; // @[VDecodeInstruction.scala 350:26]
+  wire [9:0] vopbits_lo_lo_hi = {vacc,vpadd,vpsub,vhadd,vhsub,vslidevn,vslidehn,vslidehn2,vslidevp,vslidehp}; // @[Cat.scala 31:58]
+  wire [18:0] vopbits_lo_lo = {vopbits_lo_lo_hi,vslidehp2,vsel,vevn,vodd,vevnodd,vzip,aconv,vdwconv,adwconv}; // @[Cat.scala 31:58]
+  wire [9:0] vopbits_lo_hi_hi = {vsrans,vsraqs,vmul,vmul2,vmuls,vmuls2,vmulh,vmulh2,vmulhu,vmulhu2}; // @[Cat.scala 31:58]
+  wire [18:0] vopbits_lo_hi = {vopbits_lo_hi_hi,vdmulh,vdmulh2,vmulw,vmacc,vmadd,vadds,vsubs,vaddw,vsubw}; // @[Cat.scala 31:58]
+  wire [9:0] vopbits_hi_lo_hi = {vor,vxor,vnot,vrev,vror,vclb,vclz,vcpop,vmv,vmv2}; // @[Cat.scala 31:58]
+  wire [18:0] vopbits_hi_lo = {vopbits_hi_lo_hi,vmvp,acset,actr,adwinit,vsll,vsra,vsrl,vsha,vshl}; // @[Cat.scala 31:58]
+  wire [9:0] vopbits_hi_hi_hi = {vdup,vld,vst,vstq,vcget,vadd,vsub,vrsub,veq,vne}; // @[Cat.scala 31:58]
+  wire [18:0] vopbits_hi_hi = {vopbits_hi_hi_hi,vlt,vle,vgt,vge,vabsd,vmax,vmin,vadd3,vand}; // @[Cat.scala 31:58]
+  wire [75:0] vopbits = {vopbits_hi_hi,vopbits_hi_lo,vopbits_lo_hi,vopbits_lo_lo}; // @[Cat.scala 31:58]
   wire  undef_value__0 = vopbits[0] | vopbits[1]; // @[Library.scala 194:39]
   wire  undef_value__1 = vopbits[2] | vopbits[3]; // @[Library.scala 194:39]
   wire  undef_value__2 = vopbits[4] | vopbits[5]; // @[Library.scala 194:39]
@@ -36627,20 +35566,6 @@
   wire  undef_value__35 = vopbits[70] | vopbits[71]; // @[Library.scala 194:39]
   wire  undef_value__36 = vopbits[72] | vopbits[73]; // @[Library.scala 194:39]
   wire  undef_value__37 = vopbits[74] | vopbits[75]; // @[Library.scala 194:39]
-  wire  undef_value__38 = vopbits[76] | vopbits[77]; // @[Library.scala 194:39]
-  wire  undef_value__39 = vopbits[78] | vopbits[79]; // @[Library.scala 194:39]
-  wire  undef_value__40 = vopbits[80] | vopbits[81]; // @[Library.scala 194:39]
-  wire  undef_value__41 = vopbits[82] | vopbits[83]; // @[Library.scala 194:39]
-  wire  undef_value__42 = vopbits[84] | vopbits[85]; // @[Library.scala 194:39]
-  wire  undef_value__43 = vopbits[86] | vopbits[87]; // @[Library.scala 194:39]
-  wire  undef_value__44 = vopbits[88] | vopbits[89]; // @[Library.scala 194:39]
-  wire  undef_value__45 = vopbits[90] | vopbits[91]; // @[Library.scala 194:39]
-  wire  undef_value__46 = vopbits[92] | vopbits[93]; // @[Library.scala 194:39]
-  wire  undef_value__47 = vopbits[94] | vopbits[95]; // @[Library.scala 194:39]
-  wire  undef_value__48 = vopbits[96] | vopbits[97]; // @[Library.scala 194:39]
-  wire  undef_value__49 = vopbits[98] | vopbits[99]; // @[Library.scala 194:39]
-  wire  undef_value__50 = vopbits[100] | vopbits[101]; // @[Library.scala 194:39]
-  wire  undef_value__51 = vopbits[102] | vopbits[103]; // @[Library.scala 194:39]
   wire  undef_value_1_0 = undef_value__0 | undef_value__1; // @[Library.scala 194:39]
   wire  undef_value_1_1 = undef_value__2 | undef_value__3; // @[Library.scala 194:39]
   wire  undef_value_1_2 = undef_value__4 | undef_value__5; // @[Library.scala 194:39]
@@ -36660,13 +35585,6 @@
   wire  undef_value_1_16 = undef_value__32 | undef_value__33; // @[Library.scala 194:39]
   wire  undef_value_1_17 = undef_value__34 | undef_value__35; // @[Library.scala 194:39]
   wire  undef_value_1_18 = undef_value__36 | undef_value__37; // @[Library.scala 194:39]
-  wire  undef_value_1_19 = undef_value__38 | undef_value__39; // @[Library.scala 194:39]
-  wire  undef_value_1_20 = undef_value__40 | undef_value__41; // @[Library.scala 194:39]
-  wire  undef_value_1_21 = undef_value__42 | undef_value__43; // @[Library.scala 194:39]
-  wire  undef_value_1_22 = undef_value__44 | undef_value__45; // @[Library.scala 194:39]
-  wire  undef_value_1_23 = undef_value__46 | undef_value__47; // @[Library.scala 194:39]
-  wire  undef_value_1_24 = undef_value__48 | undef_value__49; // @[Library.scala 194:39]
-  wire  undef_value_1_25 = undef_value__50 | undef_value__51; // @[Library.scala 194:39]
   wire  undef_value_2_0 = undef_value_1_0 | undef_value_1_1; // @[Library.scala 194:39]
   wire  undef_value_2_1 = undef_value_1_2 | undef_value_1_3; // @[Library.scala 194:39]
   wire  undef_value_2_2 = undef_value_1_4 | undef_value_1_5; // @[Library.scala 194:39]
@@ -36676,638 +35594,524 @@
   wire  undef_value_2_6 = undef_value_1_12 | undef_value_1_13; // @[Library.scala 194:39]
   wire  undef_value_2_7 = undef_value_1_14 | undef_value_1_15; // @[Library.scala 194:39]
   wire  undef_value_2_8 = undef_value_1_16 | undef_value_1_17; // @[Library.scala 194:39]
-  wire  undef_value_2_9 = undef_value_1_18 | undef_value_1_19; // @[Library.scala 194:39]
-  wire  undef_value_2_10 = undef_value_1_20 | undef_value_1_21; // @[Library.scala 194:39]
-  wire  undef_value_2_11 = undef_value_1_22 | undef_value_1_23; // @[Library.scala 194:39]
-  wire  undef_value_2_12 = undef_value_1_24 | undef_value_1_25; // @[Library.scala 194:39]
   wire  undef_value_3_0 = undef_value_2_0 | undef_value_2_1; // @[Library.scala 194:39]
   wire  undef_value_3_1 = undef_value_2_2 | undef_value_2_3; // @[Library.scala 194:39]
   wire  undef_value_3_2 = undef_value_2_4 | undef_value_2_5; // @[Library.scala 194:39]
   wire  undef_value_3_3 = undef_value_2_6 | undef_value_2_7; // @[Library.scala 194:39]
-  wire  undef_value_3_4 = undef_value_2_8 | undef_value_2_9; // @[Library.scala 194:39]
-  wire  undef_value_3_5 = undef_value_2_10 | undef_value_2_11; // @[Library.scala 194:39]
-  wire  undef_value_3_6 = undef_value_2_12 | undef_value__52; // @[Library.scala 194:39]
+  wire  undef_value_3_4 = undef_value_2_8 | undef_value_1_18; // @[Library.scala 194:39]
   wire  undef_value_4_0 = undef_value_3_0 | undef_value_3_1; // @[Library.scala 194:39]
   wire  undef_value_4_1 = undef_value_3_2 | undef_value_3_3; // @[Library.scala 194:39]
-  wire  undef_value_4_2 = undef_value_3_4 | undef_value_3_5; // @[Library.scala 194:39]
   wire  undef_value_5_0 = undef_value_4_0 | undef_value_4_1; // @[Library.scala 194:39]
-  wire  undef_value_5_1 = undef_value_4_2 | undef_value_3_6; // @[Library.scala 194:39]
-  wire  undef_value_6_0 = undef_value_5_0 | undef_value_5_1; // @[Library.scala 194:39]
-  wire  undef = ~undef_value_6_0; // @[VDecodeInstruction.scala 416:15]
-  wire [105:0] _T_5 = {vopbits_hi,vopbits_lo,undef}; // @[Cat.scala 31:58]
-  wire [1:0] _T_112 = _T_5[1] + _T_5[2]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_48 = {{1'd0}, _T_5[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_114 = _GEN_48 + _T_112; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_116 = _T_5[4] + _T_5[5]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_49 = {{1'd0}, _T_5[3]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_118 = _GEN_49 + _T_116; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_120 = _T_114[1:0] + _T_118[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_122 = _T_5[7] + _T_5[8]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_50 = {{1'd0}, _T_5[6]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_124 = _GEN_50 + _T_122; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_126 = _T_5[9] + _T_5[10]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_128 = _T_5[11] + _T_5[12]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_130 = _T_126 + _T_128; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_51 = {{1'd0}, _T_124[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_132 = _GEN_51 + _T_130; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_134 = _T_120 + _T_132[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_136 = _T_5[14] + _T_5[15]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_52 = {{1'd0}, _T_5[13]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_138 = _GEN_52 + _T_136; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_140 = _T_5[17] + _T_5[18]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_53 = {{1'd0}, _T_5[16]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_142 = _GEN_53 + _T_140; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_144 = _T_138[1:0] + _T_142[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_146 = _T_5[20] + _T_5[21]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_54 = {{1'd0}, _T_5[19]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_148 = _GEN_54 + _T_146; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_150 = _T_5[22] + _T_5[23]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_152 = _T_5[24] + _T_5[25]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_154 = _T_150 + _T_152; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_55 = {{1'd0}, _T_148[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_156 = _GEN_55 + _T_154; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_158 = _T_144 + _T_156[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _T_160 = _T_134 + _T_158; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_162 = _T_5[27] + _T_5[28]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_56 = {{1'd0}, _T_5[26]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_164 = _GEN_56 + _T_162; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_166 = _T_5[30] + _T_5[31]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_57 = {{1'd0}, _T_5[29]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_168 = _GEN_57 + _T_166; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_170 = _T_164[1:0] + _T_168[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_172 = _T_5[33] + _T_5[34]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_58 = {{1'd0}, _T_5[32]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_174 = _GEN_58 + _T_172; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_176 = _T_5[35] + _T_5[36]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_178 = _T_5[37] + _T_5[38]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_180 = _T_176 + _T_178; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_59 = {{1'd0}, _T_174[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_182 = _GEN_59 + _T_180; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_184 = _T_170 + _T_182[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_186 = _T_5[40] + _T_5[41]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_60 = {{1'd0}, _T_5[39]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_188 = _GEN_60 + _T_186; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_190 = _T_5[42] + _T_5[43]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_192 = _T_5[44] + _T_5[45]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_194 = _T_190 + _T_192; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_61 = {{1'd0}, _T_188[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_196 = _GEN_61 + _T_194; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_198 = _T_5[47] + _T_5[48]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_62 = {{1'd0}, _T_5[46]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_200 = _GEN_62 + _T_198; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_202 = _T_5[49] + _T_5[50]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_204 = _T_5[51] + _T_5[52]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_206 = _T_202 + _T_204; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_63 = {{1'd0}, _T_200[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_208 = _GEN_63 + _T_206; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_210 = _T_196[2:0] + _T_208[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _T_212 = _T_184 + _T_210; // @[Bitwise.scala 48:55]
-  wire [5:0] _T_214 = _T_160 + _T_212; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_216 = _T_5[54] + _T_5[55]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_64 = {{1'd0}, _T_5[53]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_218 = _GEN_64 + _T_216; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_220 = _T_5[57] + _T_5[58]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_65 = {{1'd0}, _T_5[56]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_222 = _GEN_65 + _T_220; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_224 = _T_218[1:0] + _T_222[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_226 = _T_5[60] + _T_5[61]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_66 = {{1'd0}, _T_5[59]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_228 = _GEN_66 + _T_226; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_230 = _T_5[62] + _T_5[63]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_232 = _T_5[64] + _T_5[65]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_234 = _T_230 + _T_232; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_67 = {{1'd0}, _T_228[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_236 = _GEN_67 + _T_234; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_238 = _T_224 + _T_236[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_240 = _T_5[67] + _T_5[68]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_68 = {{1'd0}, _T_5[66]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_242 = _GEN_68 + _T_240; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_244 = _T_5[70] + _T_5[71]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_69 = {{1'd0}, _T_5[69]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_246 = _GEN_69 + _T_244; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_248 = _T_242[1:0] + _T_246[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_250 = _T_5[73] + _T_5[74]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_70 = {{1'd0}, _T_5[72]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_252 = _GEN_70 + _T_250; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_254 = _T_5[75] + _T_5[76]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_256 = _T_5[77] + _T_5[78]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_258 = _T_254 + _T_256; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_71 = {{1'd0}, _T_252[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_260 = _GEN_71 + _T_258; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_262 = _T_248 + _T_260[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _T_264 = _T_238 + _T_262; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_266 = _T_5[80] + _T_5[81]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_72 = {{1'd0}, _T_5[79]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_268 = _GEN_72 + _T_266; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_270 = _T_5[83] + _T_5[84]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_73 = {{1'd0}, _T_5[82]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_272 = _GEN_73 + _T_270; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_274 = _T_268[1:0] + _T_272[1:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_276 = _T_5[86] + _T_5[87]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_74 = {{1'd0}, _T_5[85]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_278 = _GEN_74 + _T_276; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_280 = _T_5[88] + _T_5[89]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_282 = _T_5[90] + _T_5[91]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_284 = _T_280 + _T_282; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_75 = {{1'd0}, _T_278[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_286 = _GEN_75 + _T_284; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_288 = _T_274 + _T_286[2:0]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_290 = _T_5[93] + _T_5[94]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_76 = {{1'd0}, _T_5[92]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_292 = _GEN_76 + _T_290; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_294 = _T_5[95] + _T_5[96]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_296 = _T_5[97] + _T_5[98]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_298 = _T_294 + _T_296; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_77 = {{1'd0}, _T_292[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_300 = _GEN_77 + _T_298; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_302 = _T_5[100] + _T_5[101]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_78 = {{1'd0}, _T_5[99]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_304 = _GEN_78 + _T_302; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_306 = _T_5[102] + _T_5[103]; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_308 = _T_5[104] + _T_5[105]; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_310 = _T_306 + _T_308; // @[Bitwise.scala 48:55]
-  wire [2:0] _GEN_79 = {{1'd0}, _T_304[1:0]}; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_312 = _GEN_79 + _T_310; // @[Bitwise.scala 48:55]
-  wire [3:0] _T_314 = _T_300[2:0] + _T_312[2:0]; // @[Bitwise.scala 48:55]
-  wire [4:0] _T_316 = _T_288 + _T_314; // @[Bitwise.scala 48:55]
-  wire [5:0] _T_318 = _T_264 + _T_316; // @[Bitwise.scala 48:55]
-  wire [6:0] _T_320 = _T_214 + _T_318; // @[Bitwise.scala 48:55]
+  wire  undef_value_6_0 = undef_value_5_0 | undef_value_3_4; // @[Library.scala 194:39]
+  wire  undef = ~undef_value_6_0; // @[VDecodeInstruction.scala 375:15]
+  wire [76:0] _T_5 = {vopbits_hi_hi,vopbits_hi_lo,vopbits_lo_hi,vopbits_lo_lo,undef}; // @[Cat.scala 31:58]
+  wire [1:0] _T_83 = _T_5[0] + _T_5[1]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_85 = _T_5[2] + _T_5[3]; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_87 = _T_83 + _T_85; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_89 = _T_5[4] + _T_5[5]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_91 = _T_5[7] + _T_5[8]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_48 = {{1'd0}, _T_5[6]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_93 = _GEN_48 + _T_91; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_95 = _T_89 + _T_93[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_97 = _T_87 + _T_95; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_99 = _T_5[9] + _T_5[10]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_101 = _T_5[12] + _T_5[13]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_49 = {{1'd0}, _T_5[11]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_103 = _GEN_49 + _T_101; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_105 = _T_99 + _T_103[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_107 = _T_5[14] + _T_5[15]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_109 = _T_5[17] + _T_5[18]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_50 = {{1'd0}, _T_5[16]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_111 = _GEN_50 + _T_109; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_113 = _T_107 + _T_111[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_115 = _T_105 + _T_113; // @[Bitwise.scala 48:55]
+  wire [4:0] _T_117 = _T_97 + _T_115; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_119 = _T_5[19] + _T_5[20]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_121 = _T_5[21] + _T_5[22]; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_123 = _T_119 + _T_121; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_125 = _T_5[23] + _T_5[24]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_127 = _T_5[26] + _T_5[27]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_51 = {{1'd0}, _T_5[25]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_129 = _GEN_51 + _T_127; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_131 = _T_125 + _T_129[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_133 = _T_123 + _T_131; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_135 = _T_5[28] + _T_5[29]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_137 = _T_5[31] + _T_5[32]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_52 = {{1'd0}, _T_5[30]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_139 = _GEN_52 + _T_137; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_141 = _T_135 + _T_139[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_143 = _T_5[33] + _T_5[34]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_145 = _T_5[36] + _T_5[37]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_53 = {{1'd0}, _T_5[35]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_147 = _GEN_53 + _T_145; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_149 = _T_143 + _T_147[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_151 = _T_141 + _T_149; // @[Bitwise.scala 48:55]
+  wire [4:0] _T_153 = _T_133 + _T_151; // @[Bitwise.scala 48:55]
+  wire [5:0] _T_155 = _T_117 + _T_153; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_157 = _T_5[38] + _T_5[39]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_159 = _T_5[40] + _T_5[41]; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_161 = _T_157 + _T_159; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_163 = _T_5[42] + _T_5[43]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_165 = _T_5[45] + _T_5[46]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_54 = {{1'd0}, _T_5[44]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_167 = _GEN_54 + _T_165; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_169 = _T_163 + _T_167[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_171 = _T_161 + _T_169; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_173 = _T_5[47] + _T_5[48]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_175 = _T_5[50] + _T_5[51]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_55 = {{1'd0}, _T_5[49]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_177 = _GEN_55 + _T_175; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_179 = _T_173 + _T_177[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_181 = _T_5[52] + _T_5[53]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_183 = _T_5[55] + _T_5[56]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_56 = {{1'd0}, _T_5[54]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_185 = _GEN_56 + _T_183; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_187 = _T_181 + _T_185[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_189 = _T_179 + _T_187; // @[Bitwise.scala 48:55]
+  wire [4:0] _T_191 = _T_171 + _T_189; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_193 = _T_5[57] + _T_5[58]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_195 = _T_5[60] + _T_5[61]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_57 = {{1'd0}, _T_5[59]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_197 = _GEN_57 + _T_195; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_199 = _T_193 + _T_197[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_201 = _T_5[62] + _T_5[63]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_203 = _T_5[65] + _T_5[66]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_58 = {{1'd0}, _T_5[64]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_205 = _GEN_58 + _T_203; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_207 = _T_201 + _T_205[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_209 = _T_199 + _T_207; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_211 = _T_5[67] + _T_5[68]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_213 = _T_5[70] + _T_5[71]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_59 = {{1'd0}, _T_5[69]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_215 = _GEN_59 + _T_213; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_217 = _T_211 + _T_215[1:0]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_219 = _T_5[72] + _T_5[73]; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_221 = _T_5[75] + _T_5[76]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_60 = {{1'd0}, _T_5[74]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_223 = _GEN_60 + _T_221; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_225 = _T_219 + _T_223[1:0]; // @[Bitwise.scala 48:55]
+  wire [3:0] _T_227 = _T_217 + _T_225; // @[Bitwise.scala 48:55]
+  wire [4:0] _T_229 = _T_209 + _T_227; // @[Bitwise.scala 48:55]
+  wire [5:0] _T_231 = _T_191 + _T_229; // @[Bitwise.scala 48:55]
+  wire [6:0] _T_233 = _T_155 + _T_231; // @[Bitwise.scala 48:55]
   wire [1:0] _op_T_1 = vld ? 2'h2 : 2'h0; // @[Library.scala 18:8]
-  wire [1:0] _GEN_80 = {{1'd0}, vdup}; // @[VDecodeInstruction.scala 422:31]
-  wire [1:0] _op_T_2 = _GEN_80 | _op_T_1; // @[VDecodeInstruction.scala 422:31]
+  wire [1:0] _GEN_61 = {{1'd0}, vdup}; // @[VDecodeInstruction.scala 381:31]
+  wire [1:0] _op_T_2 = _GEN_61 | _op_T_1; // @[VDecodeInstruction.scala 381:31]
   wire [1:0] _op_T_3 = vst ? 2'h3 : 2'h0; // @[Library.scala 18:8]
-  wire [1:0] _op_T_4 = _op_T_2 | _op_T_3; // @[VDecodeInstruction.scala 424:30]
+  wire [1:0] _op_T_4 = _op_T_2 | _op_T_3; // @[VDecodeInstruction.scala 383:30]
   wire [2:0] _op_T_5 = vstq ? 3'h4 : 3'h0; // @[Library.scala 18:8]
-  wire [2:0] _GEN_81 = {{1'd0}, _op_T_4}; // @[VDecodeInstruction.scala 425:30]
-  wire [2:0] _op_T_6 = _GEN_81 | _op_T_5; // @[VDecodeInstruction.scala 425:30]
+  wire [2:0] _GEN_62 = {{1'd0}, _op_T_4}; // @[VDecodeInstruction.scala 384:30]
+  wire [2:0] _op_T_6 = _GEN_62 | _op_T_5; // @[VDecodeInstruction.scala 384:30]
   wire [2:0] _op_T_7 = vcget ? 3'h5 : 3'h0; // @[Library.scala 18:8]
-  wire [2:0] _op_T_8 = _op_T_6 | _op_T_7; // @[VDecodeInstruction.scala 426:31]
+  wire [2:0] _op_T_8 = _op_T_6 | _op_T_7; // @[VDecodeInstruction.scala 385:31]
   wire [2:0] _op_T_9 = vadd ? 3'h6 : 3'h0; // @[Library.scala 18:8]
-  wire [2:0] _op_T_10 = _op_T_8 | _op_T_9; // @[VDecodeInstruction.scala 428:33]
+  wire [2:0] _op_T_10 = _op_T_8 | _op_T_9; // @[VDecodeInstruction.scala 387:33]
   wire [2:0] _op_T_11 = vsub ? 3'h7 : 3'h0; // @[Library.scala 18:8]
-  wire [2:0] _op_T_12 = _op_T_10 | _op_T_11; // @[VDecodeInstruction.scala 430:32]
+  wire [2:0] _op_T_12 = _op_T_10 | _op_T_11; // @[VDecodeInstruction.scala 389:32]
   wire [3:0] _op_T_13 = vrsub ? 4'h8 : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _GEN_82 = {{1'd0}, _op_T_12}; // @[VDecodeInstruction.scala 431:32]
-  wire [3:0] _op_T_14 = _GEN_82 | _op_T_13; // @[VDecodeInstruction.scala 431:32]
+  wire [3:0] _GEN_63 = {{1'd0}, _op_T_12}; // @[VDecodeInstruction.scala 390:32]
+  wire [3:0] _op_T_14 = _GEN_63 | _op_T_13; // @[VDecodeInstruction.scala 390:32]
   wire [3:0] _op_T_15 = veq ? 4'h9 : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_16 = _op_T_14 | _op_T_15; // @[VDecodeInstruction.scala 432:33]
+  wire [3:0] _op_T_16 = _op_T_14 | _op_T_15; // @[VDecodeInstruction.scala 391:33]
   wire [3:0] _op_T_17 = vne ? 4'ha : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_18 = _op_T_16 | _op_T_17; // @[VDecodeInstruction.scala 433:31]
+  wire [3:0] _op_T_18 = _op_T_16 | _op_T_17; // @[VDecodeInstruction.scala 392:31]
   wire [3:0] _op_T_19 = vlt ? 4'hb : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_20 = _op_T_18 | _op_T_19; // @[VDecodeInstruction.scala 434:31]
+  wire [3:0] _op_T_20 = _op_T_18 | _op_T_19; // @[VDecodeInstruction.scala 393:31]
   wire [3:0] _op_T_21 = vle ? 4'hc : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_22 = _op_T_20 | _op_T_21; // @[VDecodeInstruction.scala 435:31]
+  wire [3:0] _op_T_22 = _op_T_20 | _op_T_21; // @[VDecodeInstruction.scala 394:31]
   wire [3:0] _op_T_23 = vgt ? 4'hd : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_24 = _op_T_22 | _op_T_23; // @[VDecodeInstruction.scala 436:31]
+  wire [3:0] _op_T_24 = _op_T_22 | _op_T_23; // @[VDecodeInstruction.scala 395:31]
   wire [3:0] _op_T_25 = vge ? 4'he : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_26 = _op_T_24 | _op_T_25; // @[VDecodeInstruction.scala 437:31]
+  wire [3:0] _op_T_26 = _op_T_24 | _op_T_25; // @[VDecodeInstruction.scala 396:31]
   wire [3:0] _op_T_27 = vabsd ? 4'hf : 4'h0; // @[Library.scala 18:8]
-  wire [3:0] _op_T_28 = _op_T_26 | _op_T_27; // @[VDecodeInstruction.scala 438:31]
+  wire [3:0] _op_T_28 = _op_T_26 | _op_T_27; // @[VDecodeInstruction.scala 397:31]
   wire [4:0] _op_T_29 = vmax ? 5'h10 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _GEN_83 = {{1'd0}, _op_T_28}; // @[VDecodeInstruction.scala 439:33]
-  wire [4:0] _op_T_30 = _GEN_83 | _op_T_29; // @[VDecodeInstruction.scala 439:33]
+  wire [4:0] _GEN_64 = {{1'd0}, _op_T_28}; // @[VDecodeInstruction.scala 398:33]
+  wire [4:0] _op_T_30 = _GEN_64 | _op_T_29; // @[VDecodeInstruction.scala 398:33]
   wire [4:0] _op_T_31 = vmin ? 5'h11 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_32 = _op_T_30 | _op_T_31; // @[VDecodeInstruction.scala 440:32]
+  wire [4:0] _op_T_32 = _op_T_30 | _op_T_31; // @[VDecodeInstruction.scala 399:32]
   wire [4:0] _op_T_33 = vadd3 ? 5'h12 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_34 = _op_T_32 | _op_T_33; // @[VDecodeInstruction.scala 441:32]
+  wire [4:0] _op_T_34 = _op_T_32 | _op_T_33; // @[VDecodeInstruction.scala 400:32]
   wire [4:0] _op_T_35 = vand ? 5'h13 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_36 = _op_T_34 | _op_T_35; // @[VDecodeInstruction.scala 442:33]
+  wire [4:0] _op_T_36 = _op_T_34 | _op_T_35; // @[VDecodeInstruction.scala 401:33]
   wire [4:0] _op_T_37 = vor ? 5'h14 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_38 = _op_T_36 | _op_T_37; // @[VDecodeInstruction.scala 444:32]
+  wire [4:0] _op_T_38 = _op_T_36 | _op_T_37; // @[VDecodeInstruction.scala 403:32]
   wire [4:0] _op_T_39 = vxor ? 5'h15 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_40 = _op_T_38 | _op_T_39; // @[VDecodeInstruction.scala 445:31]
+  wire [4:0] _op_T_40 = _op_T_38 | _op_T_39; // @[VDecodeInstruction.scala 404:31]
   wire [4:0] _op_T_41 = vnot ? 5'h16 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_42 = _op_T_40 | _op_T_41; // @[VDecodeInstruction.scala 446:32]
+  wire [4:0] _op_T_42 = _op_T_40 | _op_T_41; // @[VDecodeInstruction.scala 405:32]
   wire [4:0] _op_T_43 = vrev ? 5'h17 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_44 = _op_T_42 | _op_T_43; // @[VDecodeInstruction.scala 447:32]
+  wire [4:0] _op_T_44 = _op_T_42 | _op_T_43; // @[VDecodeInstruction.scala 406:32]
   wire [4:0] _op_T_45 = vror ? 5'h18 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_46 = _op_T_44 | _op_T_45; // @[VDecodeInstruction.scala 448:32]
+  wire [4:0] _op_T_46 = _op_T_44 | _op_T_45; // @[VDecodeInstruction.scala 407:32]
   wire [4:0] _op_T_47 = vclb ? 5'h19 : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_48 = _op_T_46 | _op_T_47; // @[VDecodeInstruction.scala 449:32]
+  wire [4:0] _op_T_48 = _op_T_46 | _op_T_47; // @[VDecodeInstruction.scala 408:32]
   wire [4:0] _op_T_49 = vclz ? 5'h1a : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_50 = _op_T_48 | _op_T_49; // @[VDecodeInstruction.scala 450:32]
+  wire [4:0] _op_T_50 = _op_T_48 | _op_T_49; // @[VDecodeInstruction.scala 409:32]
   wire [4:0] _op_T_51 = vcpop ? 5'h1b : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_52 = _op_T_50 | _op_T_51; // @[VDecodeInstruction.scala 451:32]
+  wire [4:0] _op_T_52 = _op_T_50 | _op_T_51; // @[VDecodeInstruction.scala 410:32]
   wire [4:0] _op_T_53 = vmv ? 5'h1c : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_54 = _op_T_52 | _op_T_53; // @[VDecodeInstruction.scala 452:33]
+  wire [4:0] _op_T_54 = _op_T_52 | _op_T_53; // @[VDecodeInstruction.scala 411:33]
   wire [4:0] _op_T_55 = vmv2 ? 5'h1d : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_56 = _op_T_54 | _op_T_55; // @[VDecodeInstruction.scala 453:31]
+  wire [4:0] _op_T_56 = _op_T_54 | _op_T_55; // @[VDecodeInstruction.scala 412:31]
   wire [4:0] _op_T_57 = vmvp ? 5'h1e : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_58 = _op_T_56 | _op_T_57; // @[VDecodeInstruction.scala 454:32]
+  wire [4:0] _op_T_58 = _op_T_56 | _op_T_57; // @[VDecodeInstruction.scala 413:32]
   wire [4:0] _op_T_59 = acset ? 5'h1f : 5'h0; // @[Library.scala 18:8]
-  wire [4:0] _op_T_60 = _op_T_58 | _op_T_59; // @[VDecodeInstruction.scala 455:32]
+  wire [4:0] _op_T_60 = _op_T_58 | _op_T_59; // @[VDecodeInstruction.scala 414:32]
   wire [5:0] _op_T_61 = actr ? 6'h20 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _GEN_84 = {{1'd0}, _op_T_60}; // @[VDecodeInstruction.scala 456:33]
-  wire [5:0] _op_T_62 = _GEN_84 | _op_T_61; // @[VDecodeInstruction.scala 456:33]
+  wire [5:0] _GEN_65 = {{1'd0}, _op_T_60}; // @[VDecodeInstruction.scala 415:33]
+  wire [5:0] _op_T_62 = _GEN_65 | _op_T_61; // @[VDecodeInstruction.scala 415:33]
   wire [5:0] _op_T_63 = adwinit ? 6'h21 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_64 = _op_T_62 | _op_T_63; // @[VDecodeInstruction.scala 457:32]
+  wire [5:0] _op_T_64 = _op_T_62 | _op_T_63; // @[VDecodeInstruction.scala 416:32]
   wire [5:0] _op_T_65 = vsll ? 6'h22 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_66 = _op_T_64 | _op_T_65; // @[VDecodeInstruction.scala 458:37]
+  wire [5:0] _op_T_66 = _op_T_64 | _op_T_65; // @[VDecodeInstruction.scala 417:37]
   wire [5:0] _op_T_67 = vsra ? 6'h23 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_68 = _op_T_66 | _op_T_67; // @[VDecodeInstruction.scala 460:33]
+  wire [5:0] _op_T_68 = _op_T_66 | _op_T_67; // @[VDecodeInstruction.scala 419:33]
   wire [5:0] _op_T_69 = vsrl ? 6'h23 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_70 = _op_T_68 | _op_T_69; // @[VDecodeInstruction.scala 461:33]
+  wire [5:0] _op_T_70 = _op_T_68 | _op_T_69; // @[VDecodeInstruction.scala 420:33]
   wire [5:0] _op_T_71 = vsha ? 6'h24 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_72 = _op_T_70 | _op_T_71; // @[VDecodeInstruction.scala 462:33]
+  wire [5:0] _op_T_72 = _op_T_70 | _op_T_71; // @[VDecodeInstruction.scala 421:33]
   wire [5:0] _op_T_73 = vshl ? 6'h24 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_74 = _op_T_72 | _op_T_73; // @[VDecodeInstruction.scala 463:33]
+  wire [5:0] _op_T_74 = _op_T_72 | _op_T_73; // @[VDecodeInstruction.scala 422:33]
   wire [5:0] _op_T_75 = vsrans ? 6'h25 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_76 = _op_T_74 | _op_T_75; // @[VDecodeInstruction.scala 464:33]
+  wire [5:0] _op_T_76 = _op_T_74 | _op_T_75; // @[VDecodeInstruction.scala 423:33]
   wire [5:0] _op_T_77 = vsraqs ? 6'h26 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_78 = _op_T_76 | _op_T_77; // @[VDecodeInstruction.scala 465:35]
+  wire [5:0] _op_T_78 = _op_T_76 | _op_T_77; // @[VDecodeInstruction.scala 424:35]
   wire [5:0] _op_T_79 = vmul ? 6'h27 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_80 = _op_T_78 | _op_T_79; // @[VDecodeInstruction.scala 466:35]
+  wire [5:0] _op_T_80 = _op_T_78 | _op_T_79; // @[VDecodeInstruction.scala 425:35]
   wire [5:0] _op_T_81 = vmul2 ? 6'h28 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_82 = _op_T_80 | _op_T_81; // @[VDecodeInstruction.scala 468:34]
+  wire [5:0] _op_T_82 = _op_T_80 | _op_T_81; // @[VDecodeInstruction.scala 427:34]
   wire [5:0] _op_T_83 = vmuls ? 6'h29 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_84 = _op_T_82 | _op_T_83; // @[VDecodeInstruction.scala 469:35]
+  wire [5:0] _op_T_84 = _op_T_82 | _op_T_83; // @[VDecodeInstruction.scala 428:35]
   wire [5:0] _op_T_85 = vmuls2 ? 6'h2a : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_86 = _op_T_84 | _op_T_85; // @[VDecodeInstruction.scala 470:35]
+  wire [5:0] _op_T_86 = _op_T_84 | _op_T_85; // @[VDecodeInstruction.scala 429:35]
   wire [5:0] _op_T_87 = vmulh ? 6'h2b : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_88 = _op_T_86 | _op_T_87; // @[VDecodeInstruction.scala 471:36]
+  wire [5:0] _op_T_88 = _op_T_86 | _op_T_87; // @[VDecodeInstruction.scala 430:36]
   wire [5:0] _op_T_89 = vmulh2 ? 6'h2c : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_90 = _op_T_88 | _op_T_89; // @[VDecodeInstruction.scala 472:35]
+  wire [5:0] _op_T_90 = _op_T_88 | _op_T_89; // @[VDecodeInstruction.scala 431:35]
   wire [5:0] _op_T_91 = vmulhu ? 6'h2b : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_92 = _op_T_90 | _op_T_91; // @[VDecodeInstruction.scala 473:36]
+  wire [5:0] _op_T_92 = _op_T_90 | _op_T_91; // @[VDecodeInstruction.scala 432:36]
   wire [5:0] _op_T_93 = vmulhu2 ? 6'h2c : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_94 = _op_T_92 | _op_T_93; // @[VDecodeInstruction.scala 474:35]
+  wire [5:0] _op_T_94 = _op_T_92 | _op_T_93; // @[VDecodeInstruction.scala 433:35]
   wire [5:0] _op_T_95 = vdmulh ? 6'h2d : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_96 = _op_T_94 | _op_T_95; // @[VDecodeInstruction.scala 475:36]
+  wire [5:0] _op_T_96 = _op_T_94 | _op_T_95; // @[VDecodeInstruction.scala 434:36]
   wire [5:0] _op_T_97 = vdmulh2 ? 6'h2e : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_98 = _op_T_96 | _op_T_97; // @[VDecodeInstruction.scala 476:36]
+  wire [5:0] _op_T_98 = _op_T_96 | _op_T_97; // @[VDecodeInstruction.scala 435:36]
   wire [5:0] _op_T_99 = vmulw ? 6'h2f : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_100 = _op_T_98 | _op_T_99; // @[VDecodeInstruction.scala 477:37]
+  wire [5:0] _op_T_100 = _op_T_98 | _op_T_99; // @[VDecodeInstruction.scala 436:37]
   wire [5:0] _op_T_101 = vmacc ? 6'h30 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_102 = _op_T_100 | _op_T_101; // @[VDecodeInstruction.scala 478:35]
+  wire [5:0] _op_T_102 = _op_T_100 | _op_T_101; // @[VDecodeInstruction.scala 437:35]
   wire [5:0] _op_T_103 = vmadd ? 6'h30 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_104 = _op_T_102 | _op_T_103; // @[VDecodeInstruction.scala 479:35]
-  wire [5:0] _op_T_105 = vdiv ? 6'h31 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_106 = _op_T_104 | _op_T_105; // @[VDecodeInstruction.scala 480:35]
-  wire [5:0] _op_T_107 = vrem ? 6'h32 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_108 = _op_T_106 | _op_T_107; // @[VDecodeInstruction.scala 481:34]
-  wire [5:0] _op_T_109 = vadds ? 6'h33 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_110 = _op_T_108 | _op_T_109; // @[VDecodeInstruction.scala 482:34]
-  wire [5:0] _op_T_111 = vsubs ? 6'h34 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_112 = _op_T_110 | _op_T_111; // @[VDecodeInstruction.scala 484:34]
-  wire [5:0] _op_T_113 = vaddw ? 6'h35 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_114 = _op_T_112 | _op_T_113; // @[VDecodeInstruction.scala 485:34]
-  wire [5:0] _op_T_115 = vsubw ? 6'h36 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_116 = _op_T_114 | _op_T_115; // @[VDecodeInstruction.scala 486:34]
-  wire [5:0] _op_T_117 = vacc ? 6'h37 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_118 = _op_T_116 | _op_T_117; // @[VDecodeInstruction.scala 487:34]
-  wire [5:0] _op_T_119 = vpadd ? 6'h38 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_120 = _op_T_118 | _op_T_119; // @[VDecodeInstruction.scala 488:33]
-  wire [5:0] _op_T_121 = vpsub ? 6'h39 : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_122 = _op_T_120 | _op_T_121; // @[VDecodeInstruction.scala 489:34]
-  wire [5:0] _op_T_123 = vhadd ? 6'h3a : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_124 = _op_T_122 | _op_T_123; // @[VDecodeInstruction.scala 490:34]
-  wire [5:0] _op_T_125 = vhsub ? 6'h3b : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_126 = _op_T_124 | _op_T_125; // @[VDecodeInstruction.scala 491:34]
-  wire [5:0] _op_T_127 = vfadd ? 6'h3c : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_128 = _op_T_126 | _op_T_127; // @[VDecodeInstruction.scala 492:34]
-  wire [5:0] _op_T_129 = vfsub ? 6'h3d : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_130 = _op_T_128 | _op_T_129; // @[VDecodeInstruction.scala 494:35]
-  wire [5:0] _op_T_131 = vfmul ? 6'h3e : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_132 = _op_T_130 | _op_T_131; // @[VDecodeInstruction.scala 495:35]
-  wire [5:0] _op_T_133 = vfabsd ? 6'h3f : 6'h0; // @[Library.scala 18:8]
-  wire [5:0] _op_T_134 = _op_T_132 | _op_T_133; // @[VDecodeInstruction.scala 496:35]
-  wire [6:0] _op_T_135 = vfmadd ? 7'h40 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _GEN_85 = {{1'd0}, _op_T_134}; // @[VDecodeInstruction.scala 497:36]
-  wire [6:0] _op_T_136 = _GEN_85 | _op_T_135; // @[VDecodeInstruction.scala 497:36]
-  wire [6:0] _op_T_137 = vfmsub ? 7'h41 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_138 = _op_T_136 | _op_T_137; // @[VDecodeInstruction.scala 498:36]
-  wire [6:0] _op_T_139 = vfnmsub ? 7'h42 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_140 = _op_T_138 | _op_T_139; // @[VDecodeInstruction.scala 499:36]
-  wire [6:0] _op_T_141 = vfnmadd ? 7'h43 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_142 = _op_T_140 | _op_T_141; // @[VDecodeInstruction.scala 500:37]
-  wire [6:0] _op_T_143 = vfdiv ? 7'h44 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_144 = _op_T_142 | _op_T_143; // @[VDecodeInstruction.scala 501:37]
-  wire [6:0] _op_T_145 = vfrdiv ? 7'h45 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_146 = _op_T_144 | _op_T_145; // @[VDecodeInstruction.scala 502:35]
-  wire [6:0] _op_T_147 = vfsqrt ? 7'h46 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_148 = _op_T_146 | _op_T_147; // @[VDecodeInstruction.scala 503:36]
-  wire [6:0] _op_T_149 = vfsgnj ? 7'h47 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_150 = _op_T_148 | _op_T_149; // @[VDecodeInstruction.scala 504:36]
-  wire [6:0] _op_T_151 = vfsgnjn ? 7'h48 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_152 = _op_T_150 | _op_T_151; // @[VDecodeInstruction.scala 505:36]
-  wire [6:0] _op_T_153 = vfsgnjx ? 7'h49 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_154 = _op_T_152 | _op_T_153; // @[VDecodeInstruction.scala 506:37]
-  wire [6:0] _op_T_155 = vfmin ? 7'h4a : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_156 = _op_T_154 | _op_T_155; // @[VDecodeInstruction.scala 507:37]
-  wire [6:0] _op_T_157 = vfmax ? 7'h4b : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_158 = _op_T_156 | _op_T_157; // @[VDecodeInstruction.scala 508:35]
-  wire [6:0] _op_T_159 = vfcvt_s_w ? 7'h4c : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_160 = _op_T_158 | _op_T_159; // @[VDecodeInstruction.scala 509:35]
-  wire [6:0] _op_T_161 = vfcvt_s_wu ? 7'h4d : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_162 = _op_T_160 | _op_T_161; // @[VDecodeInstruction.scala 510:42]
-  wire [6:0] _op_T_163 = vfcvt_w_s ? 7'h4e : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_164 = _op_T_162 | _op_T_163; // @[VDecodeInstruction.scala 511:43]
-  wire [6:0] _op_T_165 = vfcvt_wu_s ? 7'h4f : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_166 = _op_T_164 | _op_T_165; // @[VDecodeInstruction.scala 512:42]
-  wire [6:0] _op_T_167 = vflt ? 7'h50 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_168 = _op_T_166 | _op_T_167; // @[VDecodeInstruction.scala 513:43]
-  wire [6:0] _op_T_169 = vfle ? 7'h51 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_170 = _op_T_168 | _op_T_169; // @[VDecodeInstruction.scala 514:31]
-  wire [6:0] _op_T_171 = vfgt ? 7'h52 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_172 = _op_T_170 | _op_T_171; // @[VDecodeInstruction.scala 515:31]
-  wire [6:0] _op_T_173 = vfge ? 7'h53 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_174 = _op_T_172 | _op_T_173; // @[VDecodeInstruction.scala 516:31]
-  wire [6:0] _op_T_175 = vfeq ? 7'h54 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_176 = _op_T_174 | _op_T_175; // @[VDecodeInstruction.scala 517:31]
-  wire [6:0] _op_T_177 = vfne ? 7'h55 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_178 = _op_T_176 | _op_T_177; // @[VDecodeInstruction.scala 518:31]
-  wire [6:0] _op_T_179 = vslidevn ? 7'h56 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_180 = _op_T_178 | _op_T_179; // @[VDecodeInstruction.scala 519:31]
-  wire [6:0] _op_T_181 = vslidehn ? 7'h57 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_182 = _op_T_180 | _op_T_181; // @[VDecodeInstruction.scala 521:40]
-  wire [6:0] _op_T_183 = vslidehn2 ? 7'h58 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_184 = _op_T_182 | _op_T_183; // @[VDecodeInstruction.scala 522:40]
-  wire [6:0] _op_T_185 = vslidevp ? 7'h59 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_186 = _op_T_184 | _op_T_185; // @[VDecodeInstruction.scala 523:41]
-  wire [6:0] _op_T_187 = vslidehp ? 7'h5a : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_188 = _op_T_186 | _op_T_187; // @[VDecodeInstruction.scala 524:40]
-  wire [6:0] _op_T_189 = vslidehp2 ? 7'h5b : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_190 = _op_T_188 | _op_T_189; // @[VDecodeInstruction.scala 525:40]
-  wire [6:0] _op_T_191 = vsel ? 7'h5c : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_192 = _op_T_190 | _op_T_191; // @[VDecodeInstruction.scala 526:41]
-  wire [6:0] _op_T_193 = vevn ? 7'h5d : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_194 = _op_T_192 | _op_T_193; // @[VDecodeInstruction.scala 527:35]
-  wire [6:0] _op_T_195 = vodd ? 7'h5e : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_196 = _op_T_194 | _op_T_195; // @[VDecodeInstruction.scala 528:35]
-  wire [6:0] _op_T_197 = vevnodd ? 7'h5f : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_198 = _op_T_196 | _op_T_197; // @[VDecodeInstruction.scala 529:35]
-  wire [6:0] _op_T_199 = vzip ? 7'h60 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_200 = _op_T_198 | _op_T_199; // @[VDecodeInstruction.scala 530:38]
-  wire [6:0] _op_T_201 = vfmadd4 ? 7'h61 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_202 = _op_T_200 | _op_T_201; // @[VDecodeInstruction.scala 531:35]
-  wire [6:0] _op_T_203 = aconv ? 7'h62 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_204 = _op_T_202 | _op_T_203; // @[VDecodeInstruction.scala 533:38]
-  wire [6:0] _op_T_205 = vdwconv ? 7'h63 : 7'h0; // @[Library.scala 18:8]
-  wire [6:0] _op_T_206 = _op_T_204 | _op_T_205; // @[VDecodeInstruction.scala 534:36]
-  wire [6:0] _op_T_207 = adwconv ? 7'h64 : 7'h0; // @[Library.scala 18:8]
-  wire [3:0] regbase = io_in_data[7:4]; // @[VDecodeInstruction.scala 154:23]
-  wire [3:0] _GEN_1 = 4'h1 == regbase ? 4'h1 : 4'h0; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_2 = 4'h2 == regbase ? 4'h2 : _GEN_1; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_3 = 4'h3 == regbase ? 4'h3 : _GEN_2; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_4 = 4'h4 == regbase ? 4'h4 : _GEN_3; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_5 = 4'h5 == regbase ? 4'h5 : _GEN_4; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_6 = 4'h6 == regbase ? 4'h6 : _GEN_5; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_7 = 4'h7 == regbase ? 4'h1 : _GEN_6; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_8 = 4'h8 == regbase ? 4'h1 : _GEN_7; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_9 = 4'h9 == regbase ? 4'h3 : _GEN_8; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_10 = 4'ha == regbase ? 4'h5 : _GEN_9; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_11 = 4'hb == regbase ? 4'h7 : _GEN_10; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_12 = 4'hc == regbase ? 4'h2 : _GEN_11; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_13 = 4'hd == regbase ? 4'h4 : _GEN_12; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_14 = 4'he == regbase ? 4'h6 : _GEN_13; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [3:0] _GEN_15 = 4'hf == regbase ? 4'h8 : _GEN_14; // @[VDecodeInstruction.scala 156:{21,21}]
-  wire [5:0] _GEN_86 = {{2'd0}, _GEN_15}; // @[VDecodeInstruction.scala 156:21]
-  wire [5:0] vsdw = vsbits + _GEN_86; // @[VDecodeInstruction.scala 156:21]
-  wire [3:0] _GEN_17 = 4'h1 == regbase ? 4'h2 : 4'h1; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_18 = 4'h2 == regbase ? 4'h3 : _GEN_17; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_19 = 4'h3 == regbase ? 4'h4 : _GEN_18; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_20 = 4'h4 == regbase ? 4'h5 : _GEN_19; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_21 = 4'h5 == regbase ? 4'h6 : _GEN_20; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_22 = 4'h6 == regbase ? 4'h7 : _GEN_21; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_23 = 4'h7 == regbase ? 4'h0 : _GEN_22; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_24 = 4'h8 == regbase ? 4'h2 : _GEN_23; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_25 = 4'h9 == regbase ? 4'h4 : _GEN_24; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_26 = 4'ha == regbase ? 4'h6 : _GEN_25; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_27 = 4'hb == regbase ? 4'h8 : _GEN_26; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_28 = 4'hc == regbase ? 4'h0 : _GEN_27; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_29 = 4'hd == regbase ? 4'h0 : _GEN_28; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_30 = 4'he == regbase ? 4'h0 : _GEN_29; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [3:0] _GEN_31 = 4'hf == regbase ? 4'h0 : _GEN_30; // @[VDecodeInstruction.scala 157:{21,21}]
-  wire [5:0] _GEN_87 = {{2'd0}, _GEN_31}; // @[VDecodeInstruction.scala 157:21]
-  wire [5:0] vtdw = vsbits + _GEN_87; // @[VDecodeInstruction.scala 157:21]
-  wire [3:0] _GEN_33 = 4'h1 == regbase ? 4'h3 : 4'h2; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_34 = 4'h2 == regbase ? 4'h4 : _GEN_33; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_35 = 4'h3 == regbase ? 4'h5 : _GEN_34; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_36 = 4'h4 == regbase ? 4'h6 : _GEN_35; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_37 = 4'h5 == regbase ? 4'h7 : _GEN_36; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_38 = 4'h6 == regbase ? 4'h8 : _GEN_37; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_39 = 4'h7 == regbase ? 4'h2 : _GEN_38; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_40 = 4'h8 == regbase ? 4'h0 : _GEN_39; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_41 = 4'h9 == regbase ? 4'h0 : _GEN_40; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_42 = 4'ha == regbase ? 4'h0 : _GEN_41; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_43 = 4'hb == regbase ? 4'h0 : _GEN_42; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_44 = 4'hc == regbase ? 4'h1 : _GEN_43; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_45 = 4'hd == regbase ? 4'h1 : _GEN_44; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_46 = 4'he == regbase ? 4'h1 : _GEN_45; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [3:0] _GEN_47 = 4'hf == regbase ? 4'h1 : _GEN_46; // @[VDecodeInstruction.scala 158:{21,21}]
-  wire [5:0] _GEN_88 = {{2'd0}, _GEN_47}; // @[VDecodeInstruction.scala 158:21]
-  wire [5:0] vudw = vsbits + _GEN_88; // @[VDecodeInstruction.scala 158:21]
-  wire [2:0] _vy_T = m ? 3'h4 : 3'h1; // @[VDecodeInstruction.scala 164:26]
-  wire [5:0] _GEN_89 = {{3'd0}, _vy_T}; // @[VDecodeInstruction.scala 164:21]
-  wire [5:0] vydw = func2 + _GEN_89; // @[VDecodeInstruction.scala 164:21]
-  wire [3:0] _vz_T = m ? 4'h8 : 4'h2; // @[VDecodeInstruction.scala 165:26]
-  wire [5:0] _GEN_90 = {{2'd0}, _vz_T}; // @[VDecodeInstruction.scala 165:21]
-  wire [5:0] vzdw = func2 + _GEN_90; // @[VDecodeInstruction.scala 165:21]
+  wire [5:0] _op_T_104 = _op_T_102 | _op_T_103; // @[VDecodeInstruction.scala 438:35]
+  wire [5:0] _op_T_105 = vadds ? 6'h31 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_106 = _op_T_104 | _op_T_105; // @[VDecodeInstruction.scala 439:35]
+  wire [5:0] _op_T_107 = vsubs ? 6'h32 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_108 = _op_T_106 | _op_T_107; // @[VDecodeInstruction.scala 441:34]
+  wire [5:0] _op_T_109 = vaddw ? 6'h33 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_110 = _op_T_108 | _op_T_109; // @[VDecodeInstruction.scala 442:34]
+  wire [5:0] _op_T_111 = vsubw ? 6'h34 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_112 = _op_T_110 | _op_T_111; // @[VDecodeInstruction.scala 443:34]
+  wire [5:0] _op_T_113 = vacc ? 6'h35 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_114 = _op_T_112 | _op_T_113; // @[VDecodeInstruction.scala 444:34]
+  wire [5:0] _op_T_115 = vpadd ? 6'h36 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_116 = _op_T_114 | _op_T_115; // @[VDecodeInstruction.scala 445:33]
+  wire [5:0] _op_T_117 = vpsub ? 6'h37 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_118 = _op_T_116 | _op_T_117; // @[VDecodeInstruction.scala 446:34]
+  wire [5:0] _op_T_119 = vhadd ? 6'h38 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_120 = _op_T_118 | _op_T_119; // @[VDecodeInstruction.scala 447:34]
+  wire [5:0] _op_T_121 = vhsub ? 6'h39 : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_122 = _op_T_120 | _op_T_121; // @[VDecodeInstruction.scala 448:34]
+  wire [5:0] _op_T_123 = vslidevn ? 6'h3a : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_124 = _op_T_122 | _op_T_123; // @[VDecodeInstruction.scala 449:34]
+  wire [5:0] _op_T_125 = vslidehn ? 6'h3b : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_126 = _op_T_124 | _op_T_125; // @[VDecodeInstruction.scala 451:40]
+  wire [5:0] _op_T_127 = vslidehn2 ? 6'h3c : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_128 = _op_T_126 | _op_T_127; // @[VDecodeInstruction.scala 452:40]
+  wire [5:0] _op_T_129 = vslidevp ? 6'h3d : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_130 = _op_T_128 | _op_T_129; // @[VDecodeInstruction.scala 453:41]
+  wire [5:0] _op_T_131 = vslidehp ? 6'h3e : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_132 = _op_T_130 | _op_T_131; // @[VDecodeInstruction.scala 454:40]
+  wire [5:0] _op_T_133 = vslidehp2 ? 6'h3f : 6'h0; // @[Library.scala 18:8]
+  wire [5:0] _op_T_134 = _op_T_132 | _op_T_133; // @[VDecodeInstruction.scala 455:40]
+  wire [6:0] _op_T_135 = vsel ? 7'h40 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _GEN_66 = {{1'd0}, _op_T_134}; // @[VDecodeInstruction.scala 456:41]
+  wire [6:0] _op_T_136 = _GEN_66 | _op_T_135; // @[VDecodeInstruction.scala 456:41]
+  wire [6:0] _op_T_137 = vevn ? 7'h41 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _op_T_138 = _op_T_136 | _op_T_137; // @[VDecodeInstruction.scala 457:35]
+  wire [6:0] _op_T_139 = vodd ? 7'h42 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _op_T_140 = _op_T_138 | _op_T_139; // @[VDecodeInstruction.scala 458:35]
+  wire [6:0] _op_T_141 = vevnodd ? 7'h43 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _op_T_142 = _op_T_140 | _op_T_141; // @[VDecodeInstruction.scala 459:35]
+  wire [6:0] _op_T_143 = vzip ? 7'h44 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _op_T_144 = _op_T_142 | _op_T_143; // @[VDecodeInstruction.scala 460:38]
+  wire [6:0] _op_T_145 = aconv ? 7'h45 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _op_T_146 = _op_T_144 | _op_T_145; // @[VDecodeInstruction.scala 461:35]
+  wire [6:0] _op_T_147 = vdwconv ? 7'h46 : 7'h0; // @[Library.scala 18:8]
+  wire [6:0] _op_T_148 = _op_T_146 | _op_T_147; // @[VDecodeInstruction.scala 463:36]
+  wire [6:0] _op_T_149 = adwconv ? 7'h47 : 7'h0; // @[Library.scala 18:8]
+  wire [3:0] regbase = io_in_data[7:4]; // @[VDecodeInstruction.scala 149:23]
+  wire [3:0] _GEN_1 = 4'h1 == regbase ? 4'h1 : 4'h0; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_2 = 4'h2 == regbase ? 4'h2 : _GEN_1; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_3 = 4'h3 == regbase ? 4'h3 : _GEN_2; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_4 = 4'h4 == regbase ? 4'h4 : _GEN_3; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_5 = 4'h5 == regbase ? 4'h5 : _GEN_4; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_6 = 4'h6 == regbase ? 4'h6 : _GEN_5; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_7 = 4'h7 == regbase ? 4'h1 : _GEN_6; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_8 = 4'h8 == regbase ? 4'h1 : _GEN_7; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_9 = 4'h9 == regbase ? 4'h3 : _GEN_8; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_10 = 4'ha == regbase ? 4'h5 : _GEN_9; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_11 = 4'hb == regbase ? 4'h7 : _GEN_10; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_12 = 4'hc == regbase ? 4'h2 : _GEN_11; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_13 = 4'hd == regbase ? 4'h4 : _GEN_12; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_14 = 4'he == regbase ? 4'h6 : _GEN_13; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [3:0] _GEN_15 = 4'hf == regbase ? 4'h8 : _GEN_14; // @[VDecodeInstruction.scala 151:{21,21}]
+  wire [5:0] _GEN_67 = {{2'd0}, _GEN_15}; // @[VDecodeInstruction.scala 151:21]
+  wire [5:0] vsdw = vsbits + _GEN_67; // @[VDecodeInstruction.scala 151:21]
+  wire [3:0] _GEN_17 = 4'h1 == regbase ? 4'h2 : 4'h1; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_18 = 4'h2 == regbase ? 4'h3 : _GEN_17; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_19 = 4'h3 == regbase ? 4'h4 : _GEN_18; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_20 = 4'h4 == regbase ? 4'h5 : _GEN_19; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_21 = 4'h5 == regbase ? 4'h6 : _GEN_20; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_22 = 4'h6 == regbase ? 4'h7 : _GEN_21; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_23 = 4'h7 == regbase ? 4'h0 : _GEN_22; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_24 = 4'h8 == regbase ? 4'h2 : _GEN_23; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_25 = 4'h9 == regbase ? 4'h4 : _GEN_24; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_26 = 4'ha == regbase ? 4'h6 : _GEN_25; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_27 = 4'hb == regbase ? 4'h8 : _GEN_26; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_28 = 4'hc == regbase ? 4'h0 : _GEN_27; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_29 = 4'hd == regbase ? 4'h0 : _GEN_28; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_30 = 4'he == regbase ? 4'h0 : _GEN_29; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [3:0] _GEN_31 = 4'hf == regbase ? 4'h0 : _GEN_30; // @[VDecodeInstruction.scala 152:{21,21}]
+  wire [5:0] _GEN_68 = {{2'd0}, _GEN_31}; // @[VDecodeInstruction.scala 152:21]
+  wire [5:0] vtdw = vsbits + _GEN_68; // @[VDecodeInstruction.scala 152:21]
+  wire [3:0] _GEN_33 = 4'h1 == regbase ? 4'h3 : 4'h2; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_34 = 4'h2 == regbase ? 4'h4 : _GEN_33; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_35 = 4'h3 == regbase ? 4'h5 : _GEN_34; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_36 = 4'h4 == regbase ? 4'h6 : _GEN_35; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_37 = 4'h5 == regbase ? 4'h7 : _GEN_36; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_38 = 4'h6 == regbase ? 4'h8 : _GEN_37; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_39 = 4'h7 == regbase ? 4'h2 : _GEN_38; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_40 = 4'h8 == regbase ? 4'h0 : _GEN_39; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_41 = 4'h9 == regbase ? 4'h0 : _GEN_40; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_42 = 4'ha == regbase ? 4'h0 : _GEN_41; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_43 = 4'hb == regbase ? 4'h0 : _GEN_42; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_44 = 4'hc == regbase ? 4'h1 : _GEN_43; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_45 = 4'hd == regbase ? 4'h1 : _GEN_44; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_46 = 4'he == regbase ? 4'h1 : _GEN_45; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [3:0] _GEN_47 = 4'hf == regbase ? 4'h1 : _GEN_46; // @[VDecodeInstruction.scala 153:{21,21}]
+  wire [5:0] _GEN_69 = {{2'd0}, _GEN_47}; // @[VDecodeInstruction.scala 153:21]
+  wire [5:0] vudw = vsbits + _GEN_69; // @[VDecodeInstruction.scala 153:21]
+  wire [2:0] _vy_T = m ? 3'h4 : 3'h1; // @[VDecodeInstruction.scala 159:26]
+  wire [5:0] _GEN_70 = {{3'd0}, _vy_T}; // @[VDecodeInstruction.scala 159:21]
+  wire [5:0] vydw = func2 + _GEN_70; // @[VDecodeInstruction.scala 159:21]
+  wire [3:0] _vz_T = m ? 4'h8 : 4'h2; // @[VDecodeInstruction.scala 160:26]
+  wire [5:0] _GEN_71 = {{2'd0}, _vz_T}; // @[VDecodeInstruction.scala 160:21]
+  wire [5:0] vzdw = func2 + _GEN_71; // @[VDecodeInstruction.scala 160:21]
   wire [63:0] ra_vs = 64'h1 << vsdw; // @[OneHot.scala 64:12]
   wire [63:0] ra_vt = 64'h1 << vtdw; // @[OneHot.scala 64:12]
   wire [63:0] ra_vu = 64'h1 << vudw; // @[OneHot.scala 64:12]
   wire [63:0] ra_vx = 64'h1 << func2; // @[OneHot.scala 64:12]
   wire [63:0] ra_vy = 64'h1 << vydw; // @[OneHot.scala 64:12]
   wire [63:0] ra_vz = 64'h1 << vzdw; // @[OneHot.scala 64:12]
-  wire [3:0] ra_vxm_shiftAmount = func2[5:2]; // @[VDecodeInstruction.scala 176:40]
+  wire [3:0] ra_vxm_shiftAmount = func2[5:2]; // @[VDecodeInstruction.scala 171:40]
   wire [15:0] _ra_vxm_T_1 = 16'h1 << ra_vxm_shiftAmount; // @[OneHot.scala 64:12]
-  wire  ra_vxm_v = _ra_vxm_T_1[0]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_1 = _ra_vxm_T_1[1]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_2 = _ra_vxm_T_1[2]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_3 = _ra_vxm_T_1[3]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_4 = _ra_vxm_T_1[4]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_5 = _ra_vxm_T_1[5]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_6 = _ra_vxm_T_1[6]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_7 = _ra_vxm_T_1[7]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_8 = _ra_vxm_T_1[8]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_9 = _ra_vxm_T_1[9]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_10 = _ra_vxm_T_1[10]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_11 = _ra_vxm_T_1[11]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_12 = _ra_vxm_T_1[12]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_13 = _ra_vxm_T_1[13]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_14 = _ra_vxm_T_1[14]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vxm_v_15 = _ra_vxm_T_1[15]; // @[VDecodeInstruction.scala 57:16]
-  wire [7:0] ra_vxm_b_lo_lo_lo = {ra_vxm_v_1,ra_vxm_v_1,ra_vxm_v_1,ra_vxm_v_1,ra_vxm_v,ra_vxm_v,ra_vxm_v,ra_vxm_v}; // @[VDecodeInstruction.scala 60:19]
+  wire  ra_vxm_v = _ra_vxm_T_1[0]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_1 = _ra_vxm_T_1[1]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_2 = _ra_vxm_T_1[2]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_3 = _ra_vxm_T_1[3]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_4 = _ra_vxm_T_1[4]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_5 = _ra_vxm_T_1[5]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_6 = _ra_vxm_T_1[6]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_7 = _ra_vxm_T_1[7]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_8 = _ra_vxm_T_1[8]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_9 = _ra_vxm_T_1[9]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_10 = _ra_vxm_T_1[10]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_11 = _ra_vxm_T_1[11]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_12 = _ra_vxm_T_1[12]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_13 = _ra_vxm_T_1[13]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_14 = _ra_vxm_T_1[14]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vxm_v_15 = _ra_vxm_T_1[15]; // @[VDecodeInstruction.scala 52:16]
+  wire [7:0] ra_vxm_b_lo_lo_lo = {ra_vxm_v_1,ra_vxm_v_1,ra_vxm_v_1,ra_vxm_v_1,ra_vxm_v,ra_vxm_v,ra_vxm_v,ra_vxm_v}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ra_vxm_b_lo_lo = {ra_vxm_v_3,ra_vxm_v_3,ra_vxm_v_3,ra_vxm_v_3,ra_vxm_v_2,ra_vxm_v_2,ra_vxm_v_2,ra_vxm_v_2,
-    ra_vxm_b_lo_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_b_lo_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vxm_b_lo_hi_lo = {ra_vxm_v_5,ra_vxm_v_5,ra_vxm_v_5,ra_vxm_v_5,ra_vxm_v_4,ra_vxm_v_4,ra_vxm_v_4,
-    ra_vxm_v_4}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_v_4}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ra_vxm_b_lo = {ra_vxm_v_7,ra_vxm_v_7,ra_vxm_v_7,ra_vxm_v_7,ra_vxm_v_6,ra_vxm_v_6,ra_vxm_v_6,ra_vxm_v_6,
-    ra_vxm_b_lo_hi_lo,ra_vxm_b_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_b_lo_hi_lo,ra_vxm_b_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vxm_b_hi_lo_lo = {ra_vxm_v_9,ra_vxm_v_9,ra_vxm_v_9,ra_vxm_v_9,ra_vxm_v_8,ra_vxm_v_8,ra_vxm_v_8,
-    ra_vxm_v_8}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_v_8}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ra_vxm_b_hi_lo = {ra_vxm_v_11,ra_vxm_v_11,ra_vxm_v_11,ra_vxm_v_11,ra_vxm_v_10,ra_vxm_v_10,ra_vxm_v_10,
-    ra_vxm_v_10,ra_vxm_b_hi_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_v_10,ra_vxm_b_hi_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vxm_b_hi_hi_lo = {ra_vxm_v_13,ra_vxm_v_13,ra_vxm_v_13,ra_vxm_v_13,ra_vxm_v_12,ra_vxm_v_12,ra_vxm_v_12,
-    ra_vxm_v_12}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_v_12}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ra_vxm_b_hi = {ra_vxm_v_15,ra_vxm_v_15,ra_vxm_v_15,ra_vxm_v_15,ra_vxm_v_14,ra_vxm_v_14,ra_vxm_v_14,
-    ra_vxm_v_14,ra_vxm_b_hi_hi_lo,ra_vxm_b_hi_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [63:0] ra_vxm_b = {ra_vxm_b_hi,ra_vxm_b_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vxm_v_14,ra_vxm_b_hi_hi_lo,ra_vxm_b_hi_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [63:0] ra_vxm_b = {ra_vxm_b_hi,ra_vxm_b_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [63:0] ra_vxm = m ? ra_vxm_b : 64'h0; // @[Library.scala 18:8]
-  wire [3:0] ra_vym_shiftAmount = vydw[5:2]; // @[VDecodeInstruction.scala 177:40]
+  wire [3:0] ra_vym_shiftAmount = vydw[5:2]; // @[VDecodeInstruction.scala 172:40]
   wire [15:0] _ra_vym_T_1 = 16'h1 << ra_vym_shiftAmount; // @[OneHot.scala 64:12]
-  wire  ra_vym_v = _ra_vym_T_1[0]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_1 = _ra_vym_T_1[1]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_2 = _ra_vym_T_1[2]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_3 = _ra_vym_T_1[3]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_4 = _ra_vym_T_1[4]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_5 = _ra_vym_T_1[5]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_6 = _ra_vym_T_1[6]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_7 = _ra_vym_T_1[7]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_8 = _ra_vym_T_1[8]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_9 = _ra_vym_T_1[9]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_10 = _ra_vym_T_1[10]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_11 = _ra_vym_T_1[11]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_12 = _ra_vym_T_1[12]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_13 = _ra_vym_T_1[13]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_14 = _ra_vym_T_1[14]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vym_v_15 = _ra_vym_T_1[15]; // @[VDecodeInstruction.scala 57:16]
-  wire [7:0] ra_vym_b_lo_lo_lo = {ra_vym_v_1,ra_vym_v_1,ra_vym_v_1,ra_vym_v_1,ra_vym_v,ra_vym_v,ra_vym_v,ra_vym_v}; // @[VDecodeInstruction.scala 60:19]
+  wire  ra_vym_v = _ra_vym_T_1[0]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_1 = _ra_vym_T_1[1]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_2 = _ra_vym_T_1[2]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_3 = _ra_vym_T_1[3]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_4 = _ra_vym_T_1[4]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_5 = _ra_vym_T_1[5]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_6 = _ra_vym_T_1[6]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_7 = _ra_vym_T_1[7]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_8 = _ra_vym_T_1[8]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_9 = _ra_vym_T_1[9]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_10 = _ra_vym_T_1[10]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_11 = _ra_vym_T_1[11]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_12 = _ra_vym_T_1[12]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_13 = _ra_vym_T_1[13]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_14 = _ra_vym_T_1[14]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vym_v_15 = _ra_vym_T_1[15]; // @[VDecodeInstruction.scala 52:16]
+  wire [7:0] ra_vym_b_lo_lo_lo = {ra_vym_v_1,ra_vym_v_1,ra_vym_v_1,ra_vym_v_1,ra_vym_v,ra_vym_v,ra_vym_v,ra_vym_v}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ra_vym_b_lo_lo = {ra_vym_v_3,ra_vym_v_3,ra_vym_v_3,ra_vym_v_3,ra_vym_v_2,ra_vym_v_2,ra_vym_v_2,ra_vym_v_2,
-    ra_vym_b_lo_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_b_lo_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vym_b_lo_hi_lo = {ra_vym_v_5,ra_vym_v_5,ra_vym_v_5,ra_vym_v_5,ra_vym_v_4,ra_vym_v_4,ra_vym_v_4,
-    ra_vym_v_4}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_v_4}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ra_vym_b_lo = {ra_vym_v_7,ra_vym_v_7,ra_vym_v_7,ra_vym_v_7,ra_vym_v_6,ra_vym_v_6,ra_vym_v_6,ra_vym_v_6,
-    ra_vym_b_lo_hi_lo,ra_vym_b_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_b_lo_hi_lo,ra_vym_b_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vym_b_hi_lo_lo = {ra_vym_v_9,ra_vym_v_9,ra_vym_v_9,ra_vym_v_9,ra_vym_v_8,ra_vym_v_8,ra_vym_v_8,
-    ra_vym_v_8}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_v_8}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ra_vym_b_hi_lo = {ra_vym_v_11,ra_vym_v_11,ra_vym_v_11,ra_vym_v_11,ra_vym_v_10,ra_vym_v_10,ra_vym_v_10,
-    ra_vym_v_10,ra_vym_b_hi_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_v_10,ra_vym_b_hi_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vym_b_hi_hi_lo = {ra_vym_v_13,ra_vym_v_13,ra_vym_v_13,ra_vym_v_13,ra_vym_v_12,ra_vym_v_12,ra_vym_v_12,
-    ra_vym_v_12}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_v_12}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ra_vym_b_hi = {ra_vym_v_15,ra_vym_v_15,ra_vym_v_15,ra_vym_v_15,ra_vym_v_14,ra_vym_v_14,ra_vym_v_14,
-    ra_vym_v_14,ra_vym_b_hi_hi_lo,ra_vym_b_hi_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [63:0] ra_vym_b = {ra_vym_b_hi,ra_vym_b_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vym_v_14,ra_vym_b_hi_hi_lo,ra_vym_b_hi_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [63:0] ra_vym_b = {ra_vym_b_hi,ra_vym_b_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [63:0] ra_vym = m ? ra_vym_b : 64'h0; // @[Library.scala 18:8]
-  wire [3:0] ra_vzm_shiftAmount = vzdw[5:2]; // @[VDecodeInstruction.scala 178:40]
+  wire [3:0] ra_vzm_shiftAmount = vzdw[5:2]; // @[VDecodeInstruction.scala 173:40]
   wire [15:0] _ra_vzm_T_1 = 16'h1 << ra_vzm_shiftAmount; // @[OneHot.scala 64:12]
-  wire  ra_vzm_v = _ra_vzm_T_1[0]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_1 = _ra_vzm_T_1[1]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_2 = _ra_vzm_T_1[2]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_3 = _ra_vzm_T_1[3]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_4 = _ra_vzm_T_1[4]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_5 = _ra_vzm_T_1[5]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_6 = _ra_vzm_T_1[6]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_7 = _ra_vzm_T_1[7]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_8 = _ra_vzm_T_1[8]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_9 = _ra_vzm_T_1[9]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_10 = _ra_vzm_T_1[10]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_11 = _ra_vzm_T_1[11]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_12 = _ra_vzm_T_1[12]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_13 = _ra_vzm_T_1[13]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_14 = _ra_vzm_T_1[14]; // @[VDecodeInstruction.scala 57:16]
-  wire  ra_vzm_v_15 = _ra_vzm_T_1[15]; // @[VDecodeInstruction.scala 57:16]
-  wire [7:0] ra_vzm_b_lo_lo_lo = {ra_vzm_v_1,ra_vzm_v_1,ra_vzm_v_1,ra_vzm_v_1,ra_vzm_v,ra_vzm_v,ra_vzm_v,ra_vzm_v}; // @[VDecodeInstruction.scala 60:19]
+  wire  ra_vzm_v = _ra_vzm_T_1[0]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_1 = _ra_vzm_T_1[1]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_2 = _ra_vzm_T_1[2]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_3 = _ra_vzm_T_1[3]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_4 = _ra_vzm_T_1[4]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_5 = _ra_vzm_T_1[5]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_6 = _ra_vzm_T_1[6]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_7 = _ra_vzm_T_1[7]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_8 = _ra_vzm_T_1[8]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_9 = _ra_vzm_T_1[9]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_10 = _ra_vzm_T_1[10]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_11 = _ra_vzm_T_1[11]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_12 = _ra_vzm_T_1[12]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_13 = _ra_vzm_T_1[13]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_14 = _ra_vzm_T_1[14]; // @[VDecodeInstruction.scala 52:16]
+  wire  ra_vzm_v_15 = _ra_vzm_T_1[15]; // @[VDecodeInstruction.scala 52:16]
+  wire [7:0] ra_vzm_b_lo_lo_lo = {ra_vzm_v_1,ra_vzm_v_1,ra_vzm_v_1,ra_vzm_v_1,ra_vzm_v,ra_vzm_v,ra_vzm_v,ra_vzm_v}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ra_vzm_b_lo_lo = {ra_vzm_v_3,ra_vzm_v_3,ra_vzm_v_3,ra_vzm_v_3,ra_vzm_v_2,ra_vzm_v_2,ra_vzm_v_2,ra_vzm_v_2,
-    ra_vzm_b_lo_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_b_lo_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vzm_b_lo_hi_lo = {ra_vzm_v_5,ra_vzm_v_5,ra_vzm_v_5,ra_vzm_v_5,ra_vzm_v_4,ra_vzm_v_4,ra_vzm_v_4,
-    ra_vzm_v_4}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_v_4}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ra_vzm_b_lo = {ra_vzm_v_7,ra_vzm_v_7,ra_vzm_v_7,ra_vzm_v_7,ra_vzm_v_6,ra_vzm_v_6,ra_vzm_v_6,ra_vzm_v_6,
-    ra_vzm_b_lo_hi_lo,ra_vzm_b_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_b_lo_hi_lo,ra_vzm_b_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vzm_b_hi_lo_lo = {ra_vzm_v_9,ra_vzm_v_9,ra_vzm_v_9,ra_vzm_v_9,ra_vzm_v_8,ra_vzm_v_8,ra_vzm_v_8,
-    ra_vzm_v_8}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_v_8}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ra_vzm_b_hi_lo = {ra_vzm_v_11,ra_vzm_v_11,ra_vzm_v_11,ra_vzm_v_11,ra_vzm_v_10,ra_vzm_v_10,ra_vzm_v_10,
-    ra_vzm_v_10,ra_vzm_b_hi_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_v_10,ra_vzm_b_hi_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ra_vzm_b_hi_hi_lo = {ra_vzm_v_13,ra_vzm_v_13,ra_vzm_v_13,ra_vzm_v_13,ra_vzm_v_12,ra_vzm_v_12,ra_vzm_v_12,
-    ra_vzm_v_12}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_v_12}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ra_vzm_b_hi = {ra_vzm_v_15,ra_vzm_v_15,ra_vzm_v_15,ra_vzm_v_15,ra_vzm_v_14,ra_vzm_v_14,ra_vzm_v_14,
-    ra_vzm_v_14,ra_vzm_b_hi_hi_lo,ra_vzm_b_hi_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [63:0] ra_vzm_b = {ra_vzm_b_hi,ra_vzm_b_lo}; // @[VDecodeInstruction.scala 60:19]
+    ra_vzm_v_14,ra_vzm_b_hi_hi_lo,ra_vzm_b_hi_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [63:0] ra_vzm_b = {ra_vzm_b_hi,ra_vzm_b_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [63:0] ra_vzm = m ? ra_vzm_b : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _ractive_T = ra_vs | ra_vt; // @[VDecodeInstruction.scala 189:25]
-  wire [63:0] _ractive_T_1 = _ractive_T | ra_vu; // @[VDecodeInstruction.scala 189:33]
-  wire [63:0] _ractive_T_2 = _ractive_T_1 | ra_vx; // @[VDecodeInstruction.scala 189:41]
-  wire [63:0] _ractive_T_3 = _ractive_T_2 | ra_vy; // @[VDecodeInstruction.scala 189:49]
-  wire [63:0] _ractive_T_4 = _ractive_T_3 | ra_vz; // @[VDecodeInstruction.scala 189:57]
-  wire [63:0] _ractive_T_5 = _ractive_T_4 | ra_vxm; // @[VDecodeInstruction.scala 189:65]
-  wire [63:0] _ractive_T_6 = _ractive_T_5 | ra_vym; // @[VDecodeInstruction.scala 189:74]
-  wire [63:0] ractivedw = _ractive_T_6 | ra_vzm; // @[VDecodeInstruction.scala 189:83]
-  wire [3:0] ractivedi_shiftAmount = vsbits[5:2]; // @[VDecodeInstruction.scala 550:36]
+  wire [63:0] _ractive_T = ra_vs | ra_vt; // @[VDecodeInstruction.scala 184:25]
+  wire [63:0] _ractive_T_1 = _ractive_T | ra_vu; // @[VDecodeInstruction.scala 184:33]
+  wire [63:0] _ractive_T_2 = _ractive_T_1 | ra_vx; // @[VDecodeInstruction.scala 184:41]
+  wire [63:0] _ractive_T_3 = _ractive_T_2 | ra_vy; // @[VDecodeInstruction.scala 184:49]
+  wire [63:0] _ractive_T_4 = _ractive_T_3 | ra_vz; // @[VDecodeInstruction.scala 184:57]
+  wire [63:0] _ractive_T_5 = _ractive_T_4 | ra_vxm; // @[VDecodeInstruction.scala 184:65]
+  wire [63:0] _ractive_T_6 = _ractive_T_5 | ra_vym; // @[VDecodeInstruction.scala 184:74]
+  wire [63:0] ractivedw = _ractive_T_6 | ra_vzm; // @[VDecodeInstruction.scala 184:83]
+  wire [3:0] ractivedi_shiftAmount = vsbits[5:2]; // @[VDecodeInstruction.scala 479:36]
   wire [15:0] _ractivedi_T_1 = 16'h1 << ractivedi_shiftAmount; // @[OneHot.scala 64:12]
-  wire  ractivedi_v = _ractivedi_T_1[0]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_1 = _ractivedi_T_1[1]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_2 = _ractivedi_T_1[2]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_3 = _ractivedi_T_1[3]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_4 = _ractivedi_T_1[4]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_5 = _ractivedi_T_1[5]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_6 = _ractivedi_T_1[6]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_7 = _ractivedi_T_1[7]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_8 = _ractivedi_T_1[8]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_9 = _ractivedi_T_1[9]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_10 = _ractivedi_T_1[10]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_11 = _ractivedi_T_1[11]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_12 = _ractivedi_T_1[12]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_13 = _ractivedi_T_1[13]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_14 = _ractivedi_T_1[14]; // @[VDecodeInstruction.scala 57:16]
-  wire  ractivedi_v_15 = _ractivedi_T_1[15]; // @[VDecodeInstruction.scala 57:16]
+  wire  ractivedi_v = _ractivedi_T_1[0]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_1 = _ractivedi_T_1[1]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_2 = _ractivedi_T_1[2]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_3 = _ractivedi_T_1[3]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_4 = _ractivedi_T_1[4]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_5 = _ractivedi_T_1[5]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_6 = _ractivedi_T_1[6]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_7 = _ractivedi_T_1[7]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_8 = _ractivedi_T_1[8]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_9 = _ractivedi_T_1[9]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_10 = _ractivedi_T_1[10]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_11 = _ractivedi_T_1[11]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_12 = _ractivedi_T_1[12]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_13 = _ractivedi_T_1[13]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_14 = _ractivedi_T_1[14]; // @[VDecodeInstruction.scala 52:16]
+  wire  ractivedi_v_15 = _ractivedi_T_1[15]; // @[VDecodeInstruction.scala 52:16]
   wire [7:0] ractivedi_b_lo_lo_lo = {ractivedi_v_1,ractivedi_v_1,ractivedi_v_1,ractivedi_v_1,ractivedi_v,ractivedi_v,
-    ractivedi_v,ractivedi_v}; // @[VDecodeInstruction.scala 60:19]
+    ractivedi_v,ractivedi_v}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ractivedi_b_lo_lo = {ractivedi_v_3,ractivedi_v_3,ractivedi_v_3,ractivedi_v_3,ractivedi_v_2,ractivedi_v_2,
-    ractivedi_v_2,ractivedi_v_2,ractivedi_b_lo_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ractivedi_v_2,ractivedi_v_2,ractivedi_b_lo_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ractivedi_b_lo_hi_lo = {ractivedi_v_5,ractivedi_v_5,ractivedi_v_5,ractivedi_v_5,ractivedi_v_4,ractivedi_v_4
-    ,ractivedi_v_4,ractivedi_v_4}; // @[VDecodeInstruction.scala 60:19]
+    ,ractivedi_v_4,ractivedi_v_4}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ractivedi_b_lo = {ractivedi_v_7,ractivedi_v_7,ractivedi_v_7,ractivedi_v_7,ractivedi_v_6,ractivedi_v_6,
-    ractivedi_v_6,ractivedi_v_6,ractivedi_b_lo_hi_lo,ractivedi_b_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ractivedi_v_6,ractivedi_v_6,ractivedi_b_lo_hi_lo,ractivedi_b_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ractivedi_b_hi_lo_lo = {ractivedi_v_9,ractivedi_v_9,ractivedi_v_9,ractivedi_v_9,ractivedi_v_8,ractivedi_v_8
-    ,ractivedi_v_8,ractivedi_v_8}; // @[VDecodeInstruction.scala 60:19]
+    ,ractivedi_v_8,ractivedi_v_8}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] ractivedi_b_hi_lo = {ractivedi_v_11,ractivedi_v_11,ractivedi_v_11,ractivedi_v_11,ractivedi_v_10,
-    ractivedi_v_10,ractivedi_v_10,ractivedi_v_10,ractivedi_b_hi_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    ractivedi_v_10,ractivedi_v_10,ractivedi_v_10,ractivedi_b_hi_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] ractivedi_b_hi_hi_lo = {ractivedi_v_13,ractivedi_v_13,ractivedi_v_13,ractivedi_v_13,ractivedi_v_12,
-    ractivedi_v_12,ractivedi_v_12,ractivedi_v_12}; // @[VDecodeInstruction.scala 60:19]
+    ractivedi_v_12,ractivedi_v_12,ractivedi_v_12}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] ractivedi_b_hi = {ractivedi_v_15,ractivedi_v_15,ractivedi_v_15,ractivedi_v_15,ractivedi_v_14,
-    ractivedi_v_14,ractivedi_v_14,ractivedi_v_14,ractivedi_b_hi_hi_lo,ractivedi_b_hi_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [63:0] ractivedi = {ractivedi_b_hi,ractivedi_b_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [3:0] wactivedw_shiftAmount = vdbits[5:2]; // @[VDecodeInstruction.scala 551:36]
+    ractivedi_v_14,ractivedi_v_14,ractivedi_v_14,ractivedi_b_hi_hi_lo,ractivedi_b_hi_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [63:0] ractivedi = {ractivedi_b_hi,ractivedi_b_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [3:0] wactivedw_shiftAmount = vdbits[5:2]; // @[VDecodeInstruction.scala 480:36]
   wire [15:0] _wactivedw_T_1 = 16'h1 << wactivedw_shiftAmount; // @[OneHot.scala 64:12]
-  wire  wactivedw_v = _wactivedw_T_1[0]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_1 = _wactivedw_T_1[1]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_2 = _wactivedw_T_1[2]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_3 = _wactivedw_T_1[3]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_4 = _wactivedw_T_1[4]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_5 = _wactivedw_T_1[5]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_6 = _wactivedw_T_1[6]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_7 = _wactivedw_T_1[7]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_8 = _wactivedw_T_1[8]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_9 = _wactivedw_T_1[9]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_10 = _wactivedw_T_1[10]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_11 = _wactivedw_T_1[11]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_12 = _wactivedw_T_1[12]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_13 = _wactivedw_T_1[13]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_14 = _wactivedw_T_1[14]; // @[VDecodeInstruction.scala 57:16]
-  wire  wactivedw_v_15 = _wactivedw_T_1[15]; // @[VDecodeInstruction.scala 57:16]
+  wire  wactivedw_v = _wactivedw_T_1[0]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_1 = _wactivedw_T_1[1]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_2 = _wactivedw_T_1[2]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_3 = _wactivedw_T_1[3]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_4 = _wactivedw_T_1[4]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_5 = _wactivedw_T_1[5]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_6 = _wactivedw_T_1[6]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_7 = _wactivedw_T_1[7]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_8 = _wactivedw_T_1[8]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_9 = _wactivedw_T_1[9]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_10 = _wactivedw_T_1[10]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_11 = _wactivedw_T_1[11]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_12 = _wactivedw_T_1[12]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_13 = _wactivedw_T_1[13]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_14 = _wactivedw_T_1[14]; // @[VDecodeInstruction.scala 52:16]
+  wire  wactivedw_v_15 = _wactivedw_T_1[15]; // @[VDecodeInstruction.scala 52:16]
   wire [7:0] wactivedw_b_lo_lo_lo = {wactivedw_v_1,wactivedw_v_1,wactivedw_v_1,wactivedw_v_1,wactivedw_v,wactivedw_v,
-    wactivedw_v,wactivedw_v}; // @[VDecodeInstruction.scala 60:19]
+    wactivedw_v,wactivedw_v}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] wactivedw_b_lo_lo = {wactivedw_v_3,wactivedw_v_3,wactivedw_v_3,wactivedw_v_3,wactivedw_v_2,wactivedw_v_2,
-    wactivedw_v_2,wactivedw_v_2,wactivedw_b_lo_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    wactivedw_v_2,wactivedw_v_2,wactivedw_b_lo_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] wactivedw_b_lo_hi_lo = {wactivedw_v_5,wactivedw_v_5,wactivedw_v_5,wactivedw_v_5,wactivedw_v_4,wactivedw_v_4
-    ,wactivedw_v_4,wactivedw_v_4}; // @[VDecodeInstruction.scala 60:19]
+    ,wactivedw_v_4,wactivedw_v_4}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] wactivedw_b_lo = {wactivedw_v_7,wactivedw_v_7,wactivedw_v_7,wactivedw_v_7,wactivedw_v_6,wactivedw_v_6,
-    wactivedw_v_6,wactivedw_v_6,wactivedw_b_lo_hi_lo,wactivedw_b_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    wactivedw_v_6,wactivedw_v_6,wactivedw_b_lo_hi_lo,wactivedw_b_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] wactivedw_b_hi_lo_lo = {wactivedw_v_9,wactivedw_v_9,wactivedw_v_9,wactivedw_v_9,wactivedw_v_8,wactivedw_v_8
-    ,wactivedw_v_8,wactivedw_v_8}; // @[VDecodeInstruction.scala 60:19]
+    ,wactivedw_v_8,wactivedw_v_8}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] wactivedw_b_hi_lo = {wactivedw_v_11,wactivedw_v_11,wactivedw_v_11,wactivedw_v_11,wactivedw_v_10,
-    wactivedw_v_10,wactivedw_v_10,wactivedw_v_10,wactivedw_b_hi_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    wactivedw_v_10,wactivedw_v_10,wactivedw_v_10,wactivedw_b_hi_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] wactivedw_b_hi_hi_lo = {wactivedw_v_13,wactivedw_v_13,wactivedw_v_13,wactivedw_v_13,wactivedw_v_12,
-    wactivedw_v_12,wactivedw_v_12,wactivedw_v_12}; // @[VDecodeInstruction.scala 60:19]
+    wactivedw_v_12,wactivedw_v_12,wactivedw_v_12}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] wactivedw_b_hi = {wactivedw_v_15,wactivedw_v_15,wactivedw_v_15,wactivedw_v_15,wactivedw_v_14,
-    wactivedw_v_14,wactivedw_v_14,wactivedw_v_14,wactivedw_b_hi_hi_lo,wactivedw_b_hi_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [63:0] wactivedw = {wactivedw_b_hi,wactivedw_b_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire  s = func2[3]; // @[VDecodeInstruction.scala 196:18]
-  wire [5:0] _vs_T_2 = vsbits + 6'h3; // @[VDecodeInstruction.scala 197:28]
-  wire [6:0] _vs_T_3 = {{1'd0}, vsbits}; // @[VDecodeInstruction.scala 197:42]
-  wire [5:0] vssl = s ? _vs_T_2 : _vs_T_3[5:0]; // @[VDecodeInstruction.scala 197:17]
-  wire [6:0] _vt_T_1 = {{1'd0}, vtbits}; // @[VDecodeInstruction.scala 198:28]
-  wire [5:0] _vt_T_4 = vsbits + 6'h1; // @[VDecodeInstruction.scala 198:42]
-  wire [5:0] vtsl = s ? _vt_T_1[5:0] : _vt_T_4; // @[VDecodeInstruction.scala 198:17]
-  wire [5:0] _vu_T_2 = vtbits + 6'h1; // @[VDecodeInstruction.scala 199:28]
-  wire [5:0] _vu_T_4 = vsbits + 6'h2; // @[VDecodeInstruction.scala 199:42]
-  wire [5:0] vusl = s ? _vu_T_2 : _vu_T_4; // @[VDecodeInstruction.scala 199:17]
-  wire [5:0] _vy_T_3 = vtbits + 6'h2; // @[VDecodeInstruction.scala 201:28]
-  wire [5:0] vysl = s ? _vy_T_3 : _vs_T_2; // @[VDecodeInstruction.scala 201:17]
-  wire [5:0] _vz_T_3 = vtbits + 6'h3; // @[VDecodeInstruction.scala 202:28]
-  wire [5:0] vzsl = s ? _vz_T_3 : _vt_T_1[5:0]; // @[VDecodeInstruction.scala 202:17]
+    wactivedw_v_14,wactivedw_v_14,wactivedw_v_14,wactivedw_b_hi_hi_lo,wactivedw_b_hi_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [63:0] wactivedw = {wactivedw_b_hi,wactivedw_b_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire  s = func2[3]; // @[VDecodeInstruction.scala 191:18]
+  wire [5:0] _vs_T_2 = vsbits + 6'h3; // @[VDecodeInstruction.scala 192:28]
+  wire [6:0] _vs_T_3 = {{1'd0}, vsbits}; // @[VDecodeInstruction.scala 192:42]
+  wire [5:0] vssl = s ? _vs_T_2 : _vs_T_3[5:0]; // @[VDecodeInstruction.scala 192:17]
+  wire [6:0] _vt_T_1 = {{1'd0}, vtbits}; // @[VDecodeInstruction.scala 193:28]
+  wire [5:0] _vt_T_4 = vsbits + 6'h1; // @[VDecodeInstruction.scala 193:42]
+  wire [5:0] vtsl = s ? _vt_T_1[5:0] : _vt_T_4; // @[VDecodeInstruction.scala 193:17]
+  wire [5:0] _vu_T_2 = vtbits + 6'h1; // @[VDecodeInstruction.scala 194:28]
+  wire [5:0] _vu_T_4 = vsbits + 6'h2; // @[VDecodeInstruction.scala 194:42]
+  wire [5:0] vusl = s ? _vu_T_2 : _vu_T_4; // @[VDecodeInstruction.scala 194:17]
+  wire [5:0] _vy_T_3 = vtbits + 6'h2; // @[VDecodeInstruction.scala 196:28]
+  wire [5:0] vysl = s ? _vy_T_3 : _vs_T_2; // @[VDecodeInstruction.scala 196:17]
+  wire [5:0] _vz_T_3 = vtbits + 6'h3; // @[VDecodeInstruction.scala 197:28]
+  wire [5:0] vzsl = s ? _vz_T_3 : _vt_T_1[5:0]; // @[VDecodeInstruction.scala 197:17]
   wire [63:0] ra_vs_1 = 64'h1 << vssl; // @[OneHot.scala 64:12]
-  wire  _ra_vt_T_3 = vfmadd4_bit_30 | ~s; // @[VDecodeInstruction.scala 211:27]
+  wire  _ra_vt_T_3 = aconv_bit_30 | ~s; // @[VDecodeInstruction.scala 206:27]
   wire [63:0] _ra_vt_T_4 = 64'h1 << vtsl; // @[OneHot.scala 64:12]
   wire [63:0] ra_vt_1 = _ra_vt_T_3 ? _ra_vt_T_4 : 64'h0; // @[Library.scala 18:8]
   wire [63:0] _ra_vu_T_4 = 64'h1 << vusl; // @[OneHot.scala 64:12]
@@ -37315,256 +36119,243 @@
   wire [63:0] _ra_vy_T_4 = 64'h1 << vysl; // @[OneHot.scala 64:12]
   wire [63:0] ra_vy_1 = _ra_vt_T_3 ? _ra_vy_T_4 : 64'h0; // @[Library.scala 18:8]
   wire [63:0] _ra_vz_T_2 = 64'h1 << vzsl; // @[OneHot.scala 64:12]
-  wire [63:0] ra_vz_1 = vfmadd4_bit_30 ? _ra_vz_T_2 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _ractive_T_7 = ra_vs_1 | ra_vt_1; // @[VDecodeInstruction.scala 223:25]
-  wire [63:0] _ractive_T_8 = _ractive_T_7 | ra_vu_1; // @[VDecodeInstruction.scala 223:33]
-  wire [63:0] _ractive_T_9 = _ractive_T_8 | ra_vu_1; // @[VDecodeInstruction.scala 223:41]
-  wire [63:0] _ractive_T_10 = _ractive_T_9 | ra_vy_1; // @[VDecodeInstruction.scala 223:49]
-  wire [63:0] ractivesl = _ractive_T_10 | ra_vz_1; // @[VDecodeInstruction.scala 223:57]
+  wire [63:0] ra_vz_1 = aconv_bit_30 ? _ra_vz_T_2 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _ractive_T_7 = ra_vs_1 | ra_vt_1; // @[VDecodeInstruction.scala 218:25]
+  wire [63:0] _ractive_T_8 = _ractive_T_7 | ra_vu_1; // @[VDecodeInstruction.scala 218:33]
+  wire [63:0] _ractive_T_9 = _ractive_T_8 | ra_vu_1; // @[VDecodeInstruction.scala 218:41]
+  wire [63:0] _ractive_T_10 = _ractive_T_9 | ra_vy_1; // @[VDecodeInstruction.scala 218:49]
+  wire [63:0] ractivesl = _ractive_T_10 | ra_vz_1; // @[VDecodeInstruction.scala 218:57]
   wire [5:0] _ractiveconv1_T_1 = {vsbits[5:4],4'h0}; // @[Cat.scala 31:58]
-  wire [70:0] _ractiveconv1_T_2 = 71'hff << _ractiveconv1_T_1; // @[VDecodeInstruction.scala 571:30]
+  wire [70:0] _ractiveconv1_T_2 = 71'hff << _ractiveconv1_T_1; // @[VDecodeInstruction.scala 500:30]
   wire [5:0] _ractiveconv2_T_1 = {func2[5:3],3'h0}; // @[Cat.scala 31:58]
-  wire [70:0] _ractiveconv2_T_2 = 71'hff << _ractiveconv2_T_1; // @[VDecodeInstruction.scala 572:30]
+  wire [70:0] _ractiveconv2_T_2 = 71'hff << _ractiveconv2_T_1; // @[VDecodeInstruction.scala 501:30]
   wire [5:0] _ractiveaset_T_1 = {vsbits[5:3],3'h0}; // @[Cat.scala 31:58]
-  wire [70:0] _ractiveaset_T_2 = 71'hff << _ractiveaset_T_1; // @[VDecodeInstruction.scala 573:30]
+  wire [70:0] _ractiveaset_T_2 = 71'hff << _ractiveaset_T_1; // @[VDecodeInstruction.scala 502:30]
   wire [5:0] _wactiveconv_T_1 = {vdbits[5:4],4'h0}; // @[Cat.scala 31:58]
-  wire [70:0] _wactiveconv_T_2 = 71'hff << _wactiveconv_T_1; // @[VDecodeInstruction.scala 574:30]
-  wire  _io_out_sz_T_1 = sz == 2'h1; // @[VDecodeInstruction.scala 589:35]
-  wire  _io_out_sz_T_2 = sz == 2'h0; // @[VDecodeInstruction.scala 589:47]
-  wire [1:0] io_out_sz_hi = {_vfadd_T_5,_io_out_sz_T_1}; // @[Cat.scala 31:58]
-  wire  _io_out_vs_valid_T = vadwconv | adwinit; // @[VDecodeInstruction.scala 597:31]
-  wire  _io_out_vt_valid_T_6 = vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5; // @[VDecodeInstruction.scala 598:94]
-  wire  _io_out_vt_valid_T_7 = vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5 | vfmt6; // @[VDecodeInstruction.scala 598:103]
-  wire  _io_out_vt_valid_T_10 = ~x3; // @[VDecodeInstruction.scala 598:116]
-  wire  _io_out_vu_valid_T_5 = vadwconv | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2; // @[VDecodeInstruction.scala 599:82]
-  wire  _io_out_vu_valid_T_16 = m & vevn3; // @[VDecodeInstruction.scala 599:190]
-  wire  _io_out_vz_valid_T_6 = _io_out_vu_valid_T_5 | vslideh2; // @[VDecodeInstruction.scala 602:90]
-  wire  _io_out_sv_valid_T_6 = vdup | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5 | vfmt6; // @[VDecodeInstruction.scala 603:87]
-  wire [5:0] _io_out_ve_addr_T_9 = vdbits + 6'h1; // @[VDecodeInstruction.scala 607:121]
-  wire [5:0] _io_out_ve_addr_T_11 = vdbits + 6'h4; // @[VDecodeInstruction.scala 608:35]
-  wire [5:0] _io_out_ve_addr_T_14 = m ? _io_out_ve_addr_T_11 : _io_out_ve_addr_T_9; // @[VDecodeInstruction.scala 608:24]
-  wire [5:0] _io_out_ve_addr_T_15 = _io_out_vz_valid_T_6 | vzip ? _io_out_ve_addr_T_9 : _io_out_ve_addr_T_14; // @[VDecodeInstruction.scala 607:24]
-  wire [5:0] _io_out_vs_addr_T_2 = vmadd | vst | vstq ? vdbits : vsbits; // @[VDecodeInstruction.scala 613:24]
-  wire [5:0] _io_out_vs_addr_T_3 = vslideh2 ? vssl : _io_out_vs_addr_T_2; // @[VDecodeInstruction.scala 612:24]
-  wire [5:0] _io_out_vt_addr_T_5 = _io_out_vu_valid_T_16 ? _vt_T_4 : vtbits; // @[VDecodeInstruction.scala 618:24]
-  wire [5:0] _io_out_vt_addr_T_6 = vslideh2 ? vtsl : _io_out_vt_addr_T_5; // @[VDecodeInstruction.scala 617:24]
-  wire [5:0] _io_out_vt_addr_T_7 = adwinit ? _vt_T_4 : _io_out_vt_addr_T_6; // @[VDecodeInstruction.scala 616:24]
-  wire  _io_out_vu_addr_T_4 = vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2; // @[VDecodeInstruction.scala 621:73]
-  wire [5:0] _io_out_vu_addr_T_9 = vsbits + 6'h4; // @[VDecodeInstruction.scala 623:55]
-  wire [5:0] _io_out_vu_addr_T_12 = m ? _io_out_vu_addr_T_9 : _vt_T_4; // @[VDecodeInstruction.scala 623:44]
-  wire [5:0] _io_out_vu_addr_T_20 = vevn3 ? vtbits : func2; // @[VDecodeInstruction.scala 627:24]
-  wire [5:0] _io_out_vu_addr_T_21 = vmadd ? vsbits : _io_out_vu_addr_T_20; // @[VDecodeInstruction.scala 626:24]
-  wire [5:0] _io_out_vu_addr_T_22 = vmacc | vadd3 | vsel ? vdbits : _io_out_vu_addr_T_21; // @[VDecodeInstruction.scala 625:24]
-  wire [5:0] _io_out_vu_addr_T_23 = vsraqs ? _io_out_vu_addr_T_12 : _io_out_vu_addr_T_22; // @[VDecodeInstruction.scala 624:24]
-  wire [5:0] _io_out_vu_addr_T_24 = vacc | vsrans ? _io_out_vu_addr_T_12 : _io_out_vu_addr_T_23; // @[VDecodeInstruction.scala 623:24]
-  wire [5:0] _io_out_vu_addr_T_25 = vslideh2 ? vusl : _io_out_vu_addr_T_24; // @[VDecodeInstruction.scala 622:24]
-  wire [5:0] _io_out_vu_addr_T_26 = vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 ? _vt_T_4 : _io_out_vu_addr_T_25; // @[VDecodeInstruction.scala 621:24]
-  wire [5:0] _io_out_vx_addr_T_9 = vsbits + 6'h8; // @[VDecodeInstruction.scala 631:47]
-  wire [5:0] _io_out_vx_addr_T_12 = m ? _io_out_vx_addr_T_9 : _vu_T_4; // @[VDecodeInstruction.scala 631:36]
-  wire [5:0] _io_out_vx_addr_T_13 = vsraqs ? _io_out_vx_addr_T_12 : vusl; // @[VDecodeInstruction.scala 631:24]
+  wire [70:0] _wactiveconv_T_2 = 71'hff << _wactiveconv_T_1; // @[VDecodeInstruction.scala 503:30]
+  wire  _io_out_sz_T = sz == 2'h2; // @[VDecodeInstruction.scala 518:23]
+  wire  _io_out_sz_T_1 = sz == 2'h1; // @[VDecodeInstruction.scala 518:35]
+  wire  _io_out_sz_T_2 = sz == 2'h0; // @[VDecodeInstruction.scala 518:47]
+  wire [1:0] io_out_sz_hi = {_io_out_sz_T,_io_out_sz_T_1}; // @[Cat.scala 31:58]
+  wire  _io_out_vs_valid_T = vadwconv | adwinit; // @[VDecodeInstruction.scala 526:31]
+  wire  _io_out_vt_valid_T_5 = vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4; // @[VDecodeInstruction.scala 527:85]
+  wire  _io_out_vt_valid_T_6 = vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt6; // @[VDecodeInstruction.scala 527:94]
+  wire  _io_out_vu_valid_T_5 = vadwconv | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2; // @[VDecodeInstruction.scala 528:82]
+  wire  _io_out_vu_valid_T_15 = m & vevn3; // @[VDecodeInstruction.scala 528:179]
+  wire  _io_out_vz_valid_T_6 = _io_out_vu_valid_T_5 | vslideh2; // @[VDecodeInstruction.scala 531:90]
+  wire  _io_out_sv_valid_T_5 = vdup | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt6; // @[VDecodeInstruction.scala 532:78]
+  wire [5:0] _io_out_ve_addr_T_9 = vdbits + 6'h1; // @[VDecodeInstruction.scala 536:121]
+  wire [5:0] _io_out_ve_addr_T_11 = vdbits + 6'h4; // @[VDecodeInstruction.scala 537:35]
+  wire [5:0] _io_out_ve_addr_T_14 = m ? _io_out_ve_addr_T_11 : _io_out_ve_addr_T_9; // @[VDecodeInstruction.scala 537:24]
+  wire [5:0] _io_out_ve_addr_T_15 = _io_out_vz_valid_T_6 | vzip ? _io_out_ve_addr_T_9 : _io_out_ve_addr_T_14; // @[VDecodeInstruction.scala 536:24]
+  wire [5:0] _io_out_vs_addr_T_2 = vmadd | vst | vstq ? vdbits : vsbits; // @[VDecodeInstruction.scala 542:24]
+  wire [5:0] _io_out_vs_addr_T_3 = vslideh2 ? vssl : _io_out_vs_addr_T_2; // @[VDecodeInstruction.scala 541:24]
+  wire [5:0] _io_out_vt_addr_T_5 = _io_out_vu_valid_T_15 ? _vt_T_4 : vtbits; // @[VDecodeInstruction.scala 547:24]
+  wire [5:0] _io_out_vt_addr_T_6 = vslideh2 ? vtsl : _io_out_vt_addr_T_5; // @[VDecodeInstruction.scala 546:24]
+  wire [5:0] _io_out_vt_addr_T_7 = adwinit ? _vt_T_4 : _io_out_vt_addr_T_6; // @[VDecodeInstruction.scala 545:24]
+  wire  _io_out_vu_addr_T_4 = vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2; // @[VDecodeInstruction.scala 550:73]
+  wire [5:0] _io_out_vu_addr_T_9 = vsbits + 6'h4; // @[VDecodeInstruction.scala 552:55]
+  wire [5:0] _io_out_vu_addr_T_12 = m ? _io_out_vu_addr_T_9 : _vt_T_4; // @[VDecodeInstruction.scala 552:44]
+  wire [5:0] _io_out_vu_addr_T_20 = vevn3 ? vtbits : func2; // @[VDecodeInstruction.scala 556:24]
+  wire [5:0] _io_out_vu_addr_T_21 = vmadd ? vsbits : _io_out_vu_addr_T_20; // @[VDecodeInstruction.scala 555:24]
+  wire [5:0] _io_out_vu_addr_T_22 = vmacc | vadd3 | vsel ? vdbits : _io_out_vu_addr_T_21; // @[VDecodeInstruction.scala 554:24]
+  wire [5:0] _io_out_vu_addr_T_23 = vsraqs ? _io_out_vu_addr_T_12 : _io_out_vu_addr_T_22; // @[VDecodeInstruction.scala 553:24]
+  wire [5:0] _io_out_vu_addr_T_24 = vacc | vsrans ? _io_out_vu_addr_T_12 : _io_out_vu_addr_T_23; // @[VDecodeInstruction.scala 552:24]
+  wire [5:0] _io_out_vu_addr_T_25 = vslideh2 ? vusl : _io_out_vu_addr_T_24; // @[VDecodeInstruction.scala 551:24]
+  wire [5:0] _io_out_vu_addr_T_26 = vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 ? _vt_T_4 : _io_out_vu_addr_T_25; // @[VDecodeInstruction.scala 550:24]
+  wire [5:0] _io_out_vx_addr_T_9 = vsbits + 6'h8; // @[VDecodeInstruction.scala 560:47]
+  wire [5:0] _io_out_vx_addr_T_12 = m ? _io_out_vx_addr_T_9 : _vu_T_4; // @[VDecodeInstruction.scala 560:36]
+  wire [5:0] _io_out_vx_addr_T_13 = vsraqs ? _io_out_vx_addr_T_12 : vusl; // @[VDecodeInstruction.scala 560:24]
   wire [5:0] _io_out_vx_addr_T_14 = adwinit | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 ? _vu_T_4 :
-    _io_out_vx_addr_T_13; // @[VDecodeInstruction.scala 630:24]
-  wire [5:0] _io_out_vy_addr_T_2 = vsraqs ? vtbits : vysl; // @[VDecodeInstruction.scala 635:24]
-  wire [5:0] _io_out_vy_addr_T_3 = adwinit ? _vs_T_2 : _io_out_vy_addr_T_2; // @[VDecodeInstruction.scala 634:24]
-  wire [5:0] _io_out_vz_addr_T_8 = vsbits + 6'hc; // @[VDecodeInstruction.scala 639:47]
-  wire [5:0] _io_out_vz_addr_T_11 = m ? _io_out_vz_addr_T_8 : _vs_T_2; // @[VDecodeInstruction.scala 639:36]
-  wire [5:0] _io_out_vz_addr_T_12 = vsraqs ? _io_out_vz_addr_T_11 : vzsl; // @[VDecodeInstruction.scala 639:24]
-  wire [5:0] _io_out_vz_addr_T_13 = _io_out_vu_addr_T_4 ? _vs_T_2 : _io_out_vz_addr_T_12; // @[VDecodeInstruction.scala 638:24]
-  wire [1:0] _io_out_sv_data_T_3 = sz - 2'h1; // @[VDecodeInstruction.scala 651:64]
-  wire  _io_out_sv_data_T_4 = _io_out_sv_data_T_3 == 2'h0; // @[VDecodeInstruction.scala 542:14]
+    _io_out_vx_addr_T_13; // @[VDecodeInstruction.scala 559:24]
+  wire [5:0] _io_out_vy_addr_T_2 = vsraqs ? vtbits : vysl; // @[VDecodeInstruction.scala 564:24]
+  wire [5:0] _io_out_vy_addr_T_3 = adwinit ? _vs_T_2 : _io_out_vy_addr_T_2; // @[VDecodeInstruction.scala 563:24]
+  wire [5:0] _io_out_vz_addr_T_8 = vsbits + 6'hc; // @[VDecodeInstruction.scala 568:47]
+  wire [5:0] _io_out_vz_addr_T_11 = m ? _io_out_vz_addr_T_8 : _vs_T_2; // @[VDecodeInstruction.scala 568:36]
+  wire [5:0] _io_out_vz_addr_T_12 = vsraqs ? _io_out_vz_addr_T_11 : vzsl; // @[VDecodeInstruction.scala 568:24]
+  wire [5:0] _io_out_vz_addr_T_13 = _io_out_vu_addr_T_4 ? _vs_T_2 : _io_out_vz_addr_T_12; // @[VDecodeInstruction.scala 567:24]
+  wire [1:0] _io_out_sv_data_T_3 = sz - 2'h1; // @[VDecodeInstruction.scala 580:64]
+  wire  _io_out_sv_data_T_4 = _io_out_sv_data_T_3 == 2'h0; // @[VDecodeInstruction.scala 471:14]
   wire [31:0] _io_out_sv_data_T_9 = {io_in_data[7:0],io_in_data[7:0],io_in_data[7:0],io_in_data[7:0]}; // @[Cat.scala 31:58]
   wire [31:0] _io_out_sv_data_T_10 = _io_out_sv_data_T_4 ? _io_out_sv_data_T_9 : 32'h0; // @[Library.scala 18:8]
-  wire  _io_out_sv_data_T_11 = _io_out_sv_data_T_3 == 2'h1; // @[VDecodeInstruction.scala 543:20]
+  wire  _io_out_sv_data_T_11 = _io_out_sv_data_T_3 == 2'h1; // @[VDecodeInstruction.scala 472:20]
   wire [31:0] _io_out_sv_data_T_14 = {io_in_data[15:0],io_in_data[15:0]}; // @[Cat.scala 31:58]
   wire [31:0] _io_out_sv_data_T_15 = _io_out_sv_data_T_11 ? _io_out_sv_data_T_14 : 32'h0; // @[Library.scala 18:8]
-  wire [31:0] _io_out_sv_data_T_16 = _io_out_sv_data_T_10 | _io_out_sv_data_T_15; // @[VDecodeInstruction.scala 542:72]
-  wire  _io_out_sv_data_T_17 = _io_out_sv_data_T_3 == 2'h2; // @[VDecodeInstruction.scala 544:20]
+  wire [31:0] _io_out_sv_data_T_16 = _io_out_sv_data_T_10 | _io_out_sv_data_T_15; // @[VDecodeInstruction.scala 471:72]
+  wire  _io_out_sv_data_T_17 = _io_out_sv_data_T_3 == 2'h2; // @[VDecodeInstruction.scala 473:20]
   wire [31:0] _io_out_sv_data_T_19 = _io_out_sv_data_T_17 ? io_in_data : 32'h0; // @[Library.scala 18:8]
-  wire [31:0] _io_out_sv_data_T_20 = _io_out_sv_data_T_16 | _io_out_sv_data_T_19; // @[VDecodeInstruction.scala 543:58]
+  wire [31:0] _io_out_sv_data_T_20 = _io_out_sv_data_T_16 | _io_out_sv_data_T_19; // @[VDecodeInstruction.scala 472:58]
   wire [31:0] _io_out_sv_data_T_27 = _io_out_sz_T_2 ? _io_out_sv_data_T_9 : 32'h0; // @[Library.scala 18:8]
   wire [31:0] _io_out_sv_data_T_32 = _io_out_sz_T_1 ? _io_out_sv_data_T_14 : 32'h0; // @[Library.scala 18:8]
-  wire [31:0] _io_out_sv_data_T_33 = _io_out_sv_data_T_27 | _io_out_sv_data_T_32; // @[VDecodeInstruction.scala 542:72]
-  wire [31:0] _io_out_sv_data_T_36 = _vfadd_T_5 ? io_in_data : 32'h0; // @[Library.scala 18:8]
-  wire [31:0] _io_out_sv_data_T_37 = _io_out_sv_data_T_33 | _io_out_sv_data_T_36; // @[VDecodeInstruction.scala 543:58]
-  wire [31:0] _io_out_sv_data_T_38 = vaddw | vmulw | vsubw ? _io_out_sv_data_T_20 : _io_out_sv_data_T_37; // @[VDecodeInstruction.scala 651:24]
-  wire [1:0] _T_329 = io_out_sz[1] + io_out_sz[2]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_91 = {{1'd0}, io_out_sz[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_331 = _GEN_91 + _T_329; // @[Bitwise.scala 48:55]
-  wire  _T_337 = ~io_out_cmdsync; // @[VDecodeInstruction.scala 655:31]
+  wire [31:0] _io_out_sv_data_T_33 = _io_out_sv_data_T_27 | _io_out_sv_data_T_32; // @[VDecodeInstruction.scala 471:72]
+  wire [31:0] _io_out_sv_data_T_36 = _io_out_sz_T ? io_in_data : 32'h0; // @[Library.scala 18:8]
+  wire [31:0] _io_out_sv_data_T_37 = _io_out_sv_data_T_33 | _io_out_sv_data_T_36; // @[VDecodeInstruction.scala 472:58]
+  wire [31:0] _io_out_sv_data_T_38 = vaddw | vmulw | vsubw ? _io_out_sv_data_T_20 : _io_out_sv_data_T_37; // @[VDecodeInstruction.scala 580:24]
+  wire [1:0] _T_242 = io_out_sz[1] + io_out_sz[2]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_72 = {{1'd0}, io_out_sz[0]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_244 = _GEN_72 + _T_242; // @[Bitwise.scala 48:55]
+  wire  _T_250 = ~io_out_cmdsync; // @[VDecodeInstruction.scala 584:31]
   wire [5:0] cmdqchk = {io_undef,io_cmdq_alu,io_cmdq_conv,io_cmdq_ldst,io_cmdq_ld,io_cmdq_st}; // @[Cat.scala 31:58]
-  wire [1:0] _T_361 = cmdqchk[1] + cmdqchk[2]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_92 = {{1'd0}, cmdqchk[0]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_363 = _GEN_92 + _T_361; // @[Bitwise.scala 48:55]
-  wire [1:0] _T_365 = cmdqchk[4] + cmdqchk[5]; // @[Bitwise.scala 48:55]
-  wire [1:0] _GEN_93 = {{1'd0}, cmdqchk[3]}; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_367 = _GEN_93 + _T_365; // @[Bitwise.scala 48:55]
-  wire [2:0] _T_369 = _T_363[1:0] + _T_367[1:0]; // @[Bitwise.scala 48:55]
-  wire  _io_actv_ractive_T_6 = vfmt6 & ~vslideh2; // @[VDecodeInstruction.scala 670:17]
-  wire  _io_actv_ractive_T_7 = _io_out_vt_valid_T_6 | _io_actv_ractive_T_6; // @[VDecodeInstruction.scala 669:62]
+  wire [1:0] _T_274 = cmdqchk[1] + cmdqchk[2]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_73 = {{1'd0}, cmdqchk[0]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_276 = _GEN_73 + _T_274; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_278 = cmdqchk[4] + cmdqchk[5]; // @[Bitwise.scala 48:55]
+  wire [1:0] _GEN_74 = {{1'd0}, cmdqchk[3]}; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_280 = _GEN_74 + _T_278; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_282 = _T_276[1:0] + _T_280[1:0]; // @[Bitwise.scala 48:55]
+  wire  _io_actv_ractive_T_5 = vfmt6 & ~vslideh2; // @[VDecodeInstruction.scala 599:17]
+  wire  _io_actv_ractive_T_6 = _io_out_vt_valid_T_5 | _io_actv_ractive_T_5; // @[VDecodeInstruction.scala 598:53]
   wire [63:0] io_actv_ractive_vs = 64'h1 << vsbits; // @[OneHot.scala 64:12]
   wire [63:0] io_actv_ractive_vsm = m ? ractivedi : 64'h0; // @[Library.scala 18:8]
   wire [63:0] _io_actv_ractive_vt_T_1 = 64'h1 << vtbits; // @[OneHot.scala 64:12]
-  wire [63:0] io_actv_ractive_vt = vfmadd4_bit_30 ? _io_actv_ractive_vt_T_1 : 64'h0; // @[Library.scala 18:8]
-  wire  _io_actv_ractive_vtm_T_1 = m & vfmadd4_bit_30; // @[VDecodeInstruction.scala 78:17]
-  wire [3:0] io_actv_ractive_vtm_shiftAmount = vtbits[5:2]; // @[VDecodeInstruction.scala 78:41]
+  wire [63:0] io_actv_ractive_vt = aconv_bit_30 ? _io_actv_ractive_vt_T_1 : 64'h0; // @[Library.scala 18:8]
+  wire  _io_actv_ractive_vtm_T_1 = m & aconv_bit_30; // @[VDecodeInstruction.scala 73:17]
+  wire [3:0] io_actv_ractive_vtm_shiftAmount = vtbits[5:2]; // @[VDecodeInstruction.scala 73:41]
   wire [15:0] _io_actv_ractive_vtm_T_3 = 16'h1 << io_actv_ractive_vtm_shiftAmount; // @[OneHot.scala 64:12]
-  wire  io_actv_ractive_vtm_v = _io_actv_ractive_vtm_T_3[0]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_1 = _io_actv_ractive_vtm_T_3[1]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_2 = _io_actv_ractive_vtm_T_3[2]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_3 = _io_actv_ractive_vtm_T_3[3]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_4 = _io_actv_ractive_vtm_T_3[4]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_5 = _io_actv_ractive_vtm_T_3[5]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_6 = _io_actv_ractive_vtm_T_3[6]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_7 = _io_actv_ractive_vtm_T_3[7]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_8 = _io_actv_ractive_vtm_T_3[8]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_9 = _io_actv_ractive_vtm_T_3[9]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_10 = _io_actv_ractive_vtm_T_3[10]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_11 = _io_actv_ractive_vtm_T_3[11]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_12 = _io_actv_ractive_vtm_T_3[12]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_13 = _io_actv_ractive_vtm_T_3[13]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_14 = _io_actv_ractive_vtm_T_3[14]; // @[VDecodeInstruction.scala 57:16]
-  wire  io_actv_ractive_vtm_v_15 = _io_actv_ractive_vtm_T_3[15]; // @[VDecodeInstruction.scala 57:16]
+  wire  io_actv_ractive_vtm_v = _io_actv_ractive_vtm_T_3[0]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_1 = _io_actv_ractive_vtm_T_3[1]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_2 = _io_actv_ractive_vtm_T_3[2]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_3 = _io_actv_ractive_vtm_T_3[3]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_4 = _io_actv_ractive_vtm_T_3[4]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_5 = _io_actv_ractive_vtm_T_3[5]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_6 = _io_actv_ractive_vtm_T_3[6]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_7 = _io_actv_ractive_vtm_T_3[7]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_8 = _io_actv_ractive_vtm_T_3[8]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_9 = _io_actv_ractive_vtm_T_3[9]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_10 = _io_actv_ractive_vtm_T_3[10]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_11 = _io_actv_ractive_vtm_T_3[11]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_12 = _io_actv_ractive_vtm_T_3[12]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_13 = _io_actv_ractive_vtm_T_3[13]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_14 = _io_actv_ractive_vtm_T_3[14]; // @[VDecodeInstruction.scala 52:16]
+  wire  io_actv_ractive_vtm_v_15 = _io_actv_ractive_vtm_T_3[15]; // @[VDecodeInstruction.scala 52:16]
   wire [7:0] io_actv_ractive_vtm_b_lo_lo_lo = {io_actv_ractive_vtm_v_1,io_actv_ractive_vtm_v_1,io_actv_ractive_vtm_v_1,
-    io_actv_ractive_vtm_v_1,io_actv_ractive_vtm_v,io_actv_ractive_vtm_v,io_actv_ractive_vtm_v,io_actv_ractive_vtm_v}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_1,io_actv_ractive_vtm_v,io_actv_ractive_vtm_v,io_actv_ractive_vtm_v,io_actv_ractive_vtm_v}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] io_actv_ractive_vtm_b_lo_lo = {io_actv_ractive_vtm_v_3,io_actv_ractive_vtm_v_3,io_actv_ractive_vtm_v_3,
     io_actv_ractive_vtm_v_3,io_actv_ractive_vtm_v_2,io_actv_ractive_vtm_v_2,io_actv_ractive_vtm_v_2,
-    io_actv_ractive_vtm_v_2,io_actv_ractive_vtm_b_lo_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_2,io_actv_ractive_vtm_b_lo_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] io_actv_ractive_vtm_b_lo_hi_lo = {io_actv_ractive_vtm_v_5,io_actv_ractive_vtm_v_5,io_actv_ractive_vtm_v_5,
     io_actv_ractive_vtm_v_5,io_actv_ractive_vtm_v_4,io_actv_ractive_vtm_v_4,io_actv_ractive_vtm_v_4,
-    io_actv_ractive_vtm_v_4}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_4}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] io_actv_ractive_vtm_b_lo = {io_actv_ractive_vtm_v_7,io_actv_ractive_vtm_v_7,io_actv_ractive_vtm_v_7,
     io_actv_ractive_vtm_v_7,io_actv_ractive_vtm_v_6,io_actv_ractive_vtm_v_6,io_actv_ractive_vtm_v_6,
-    io_actv_ractive_vtm_v_6,io_actv_ractive_vtm_b_lo_hi_lo,io_actv_ractive_vtm_b_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_6,io_actv_ractive_vtm_b_lo_hi_lo,io_actv_ractive_vtm_b_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] io_actv_ractive_vtm_b_hi_lo_lo = {io_actv_ractive_vtm_v_9,io_actv_ractive_vtm_v_9,io_actv_ractive_vtm_v_9,
     io_actv_ractive_vtm_v_9,io_actv_ractive_vtm_v_8,io_actv_ractive_vtm_v_8,io_actv_ractive_vtm_v_8,
-    io_actv_ractive_vtm_v_8}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_8}; // @[VDecodeInstruction.scala 55:19]
   wire [15:0] io_actv_ractive_vtm_b_hi_lo = {io_actv_ractive_vtm_v_11,io_actv_ractive_vtm_v_11,io_actv_ractive_vtm_v_11,
     io_actv_ractive_vtm_v_11,io_actv_ractive_vtm_v_10,io_actv_ractive_vtm_v_10,io_actv_ractive_vtm_v_10,
-    io_actv_ractive_vtm_v_10,io_actv_ractive_vtm_b_hi_lo_lo}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_10,io_actv_ractive_vtm_b_hi_lo_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [7:0] io_actv_ractive_vtm_b_hi_hi_lo = {io_actv_ractive_vtm_v_13,io_actv_ractive_vtm_v_13,
     io_actv_ractive_vtm_v_13,io_actv_ractive_vtm_v_13,io_actv_ractive_vtm_v_12,io_actv_ractive_vtm_v_12,
-    io_actv_ractive_vtm_v_12,io_actv_ractive_vtm_v_12}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_12,io_actv_ractive_vtm_v_12}; // @[VDecodeInstruction.scala 55:19]
   wire [31:0] io_actv_ractive_vtm_b_hi = {io_actv_ractive_vtm_v_15,io_actv_ractive_vtm_v_15,io_actv_ractive_vtm_v_15,
     io_actv_ractive_vtm_v_15,io_actv_ractive_vtm_v_14,io_actv_ractive_vtm_v_14,io_actv_ractive_vtm_v_14,
-    io_actv_ractive_vtm_v_14,io_actv_ractive_vtm_b_hi_hi_lo,io_actv_ractive_vtm_b_hi_lo}; // @[VDecodeInstruction.scala 60:19]
-  wire [63:0] io_actv_ractive_vtm_b = {io_actv_ractive_vtm_b_hi,io_actv_ractive_vtm_b_lo}; // @[VDecodeInstruction.scala 60:19]
+    io_actv_ractive_vtm_v_14,io_actv_ractive_vtm_b_hi_hi_lo,io_actv_ractive_vtm_b_hi_lo}; // @[VDecodeInstruction.scala 55:19]
+  wire [63:0] io_actv_ractive_vtm_b = {io_actv_ractive_vtm_b_hi,io_actv_ractive_vtm_b_lo}; // @[VDecodeInstruction.scala 55:19]
   wire [63:0] io_actv_ractive_vtm = _io_actv_ractive_vtm_T_1 ? io_actv_ractive_vtm_b : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_8 = io_actv_ractive_vs | io_actv_ractive_vsm; // @[VDecodeInstruction.scala 86:8]
-  wire [63:0] _io_actv_ractive_T_9 = _io_actv_ractive_T_8 | io_actv_ractive_vt; // @[VDecodeInstruction.scala 86:14]
-  wire [63:0] _io_actv_ractive_T_10 = _io_actv_ractive_T_9 | io_actv_ractive_vtm; // @[VDecodeInstruction.scala 86:19]
-  wire [63:0] _io_actv_ractive_T_11 = _io_actv_ractive_T_7 ? _io_actv_ractive_T_10 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] io_actv_ractive_vt_1 = _io_out_vt_valid_T_10 ? _io_actv_ractive_vt_T_1 : 64'h0; // @[Library.scala 18:8]
-  wire  _io_actv_ractive_vtm_T_6 = m & _io_out_vt_valid_T_10; // @[VDecodeInstruction.scala 80:17]
-  wire [63:0] io_actv_ractive_vtm_1 = _io_actv_ractive_vtm_T_6 ? io_actv_ractive_vtm_b : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_13 = _io_actv_ractive_T_8 | io_actv_ractive_vt_1; // @[VDecodeInstruction.scala 86:14]
-  wire [63:0] _io_actv_ractive_T_14 = _io_actv_ractive_T_13 | io_actv_ractive_vtm_1; // @[VDecodeInstruction.scala 86:19]
-  wire [63:0] _io_actv_ractive_T_15 = vfmadd4 ? _io_actv_ractive_T_14 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_16 = _io_actv_ractive_T_11 | _io_actv_ractive_T_15; // @[VDecodeInstruction.scala 670:80]
-  wire  _io_actv_ractive_T_17 = vsraqs | vsrans; // @[VDecodeInstruction.scala 672:18]
-  wire [64:0] _io_actv_ractive_vs_T_4 = {io_actv_ractive_vs,1'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_ractive_vs_2 = _io_actv_ractive_vs_T_4[63:0]; // @[VDecodeInstruction.scala 91:48]
-  wire [67:0] _io_actv_ractive_vsm_T_9 = {ractivedi_b_hi,ractivedi_b_lo,4'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_ractive_vsm_2 = m ? _io_actv_ractive_vsm_T_9[63:0] : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_18 = io_actv_ractive_vs_2 | io_actv_ractive_vsm_2; // @[VDecodeInstruction.scala 95:8]
-  wire [63:0] _io_actv_ractive_T_19 = _io_actv_ractive_T_17 ? _io_actv_ractive_T_18 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_20 = _io_actv_ractive_T_16 | _io_actv_ractive_T_19; // @[VDecodeInstruction.scala 671:80]
-  wire [65:0] _io_actv_ractive_vs_T_7 = {io_actv_ractive_vs,2'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_ractive_vs_3 = _io_actv_ractive_vs_T_7[63:0]; // @[VDecodeInstruction.scala 100:48]
-  wire [71:0] _io_actv_ractive_vsm_T_14 = {ractivedi_b_hi,ractivedi_b_lo,8'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_ractive_vsm_3 = m ? _io_actv_ractive_vsm_T_14[63:0] : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_21 = io_actv_ractive_vs_3 | io_actv_ractive_vsm_3; // @[VDecodeInstruction.scala 104:8]
-  wire [63:0] _io_actv_ractive_T_22 = vsraqs ? _io_actv_ractive_T_21 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_23 = _io_actv_ractive_T_20 | _io_actv_ractive_T_22; // @[VDecodeInstruction.scala 672:80]
-  wire [66:0] _io_actv_ractive_vs_T_10 = {io_actv_ractive_vs,3'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_ractive_vs_4 = _io_actv_ractive_vs_T_10[63:0]; // @[VDecodeInstruction.scala 109:48]
-  wire [75:0] _io_actv_ractive_vsm_T_19 = {ractivedi_b_hi,ractivedi_b_lo,12'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_ractive_vsm_4 = m ? _io_actv_ractive_vsm_T_19[63:0] : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_24 = io_actv_ractive_vs_4 | io_actv_ractive_vsm_4; // @[VDecodeInstruction.scala 113:8]
-  wire [63:0] _io_actv_ractive_T_25 = vsraqs ? _io_actv_ractive_T_24 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_26 = _io_actv_ractive_T_23 | _io_actv_ractive_T_25; // @[VDecodeInstruction.scala 673:80]
-  wire  _io_actv_ractive_T_29 = vmacc | vmadd | vst | vstq; // @[VDecodeInstruction.scala 675:33]
+  wire [63:0] _io_actv_ractive_T_7 = io_actv_ractive_vs | io_actv_ractive_vsm; // @[VDecodeInstruction.scala 81:8]
+  wire [63:0] _io_actv_ractive_T_8 = _io_actv_ractive_T_7 | io_actv_ractive_vt; // @[VDecodeInstruction.scala 81:14]
+  wire [63:0] _io_actv_ractive_T_9 = _io_actv_ractive_T_8 | io_actv_ractive_vtm; // @[VDecodeInstruction.scala 81:19]
+  wire [63:0] _io_actv_ractive_T_10 = _io_actv_ractive_T_6 ? _io_actv_ractive_T_9 : 64'h0; // @[Library.scala 18:8]
+  wire  _io_actv_ractive_T_11 = vsraqs | vsrans; // @[VDecodeInstruction.scala 600:18]
+  wire [64:0] _io_actv_ractive_vs_T_3 = {io_actv_ractive_vs,1'h0}; // @[Cat.scala 31:58]
+  wire [63:0] io_actv_ractive_vs_1 = _io_actv_ractive_vs_T_3[63:0]; // @[VDecodeInstruction.scala 86:48]
+  wire [67:0] _io_actv_ractive_vsm_T_6 = {ractivedi_b_hi,ractivedi_b_lo,4'h0}; // @[Cat.scala 31:58]
+  wire [63:0] io_actv_ractive_vsm_1 = m ? _io_actv_ractive_vsm_T_6[63:0] : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_12 = io_actv_ractive_vs_1 | io_actv_ractive_vsm_1; // @[VDecodeInstruction.scala 90:8]
+  wire [63:0] _io_actv_ractive_T_13 = _io_actv_ractive_T_11 ? _io_actv_ractive_T_12 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_14 = _io_actv_ractive_T_10 | _io_actv_ractive_T_13; // @[VDecodeInstruction.scala 599:80]
+  wire [65:0] _io_actv_ractive_vs_T_6 = {io_actv_ractive_vs,2'h0}; // @[Cat.scala 31:58]
+  wire [63:0] io_actv_ractive_vs_2 = _io_actv_ractive_vs_T_6[63:0]; // @[VDecodeInstruction.scala 95:48]
+  wire [71:0] _io_actv_ractive_vsm_T_11 = {ractivedi_b_hi,ractivedi_b_lo,8'h0}; // @[Cat.scala 31:58]
+  wire [63:0] io_actv_ractive_vsm_2 = m ? _io_actv_ractive_vsm_T_11[63:0] : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_15 = io_actv_ractive_vs_2 | io_actv_ractive_vsm_2; // @[VDecodeInstruction.scala 99:8]
+  wire [63:0] _io_actv_ractive_T_16 = vsraqs ? _io_actv_ractive_T_15 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_17 = _io_actv_ractive_T_14 | _io_actv_ractive_T_16; // @[VDecodeInstruction.scala 600:80]
+  wire [66:0] _io_actv_ractive_vs_T_9 = {io_actv_ractive_vs,3'h0}; // @[Cat.scala 31:58]
+  wire [63:0] io_actv_ractive_vs_3 = _io_actv_ractive_vs_T_9[63:0]; // @[VDecodeInstruction.scala 104:48]
+  wire [75:0] _io_actv_ractive_vsm_T_16 = {ractivedi_b_hi,ractivedi_b_lo,12'h0}; // @[Cat.scala 31:58]
+  wire [63:0] io_actv_ractive_vsm_3 = m ? _io_actv_ractive_vsm_T_16[63:0] : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_18 = io_actv_ractive_vs_3 | io_actv_ractive_vsm_3; // @[VDecodeInstruction.scala 108:8]
+  wire [63:0] _io_actv_ractive_T_19 = vsraqs ? _io_actv_ractive_T_18 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_20 = _io_actv_ractive_T_17 | _io_actv_ractive_T_19; // @[VDecodeInstruction.scala 601:80]
+  wire  _io_actv_ractive_T_23 = vmacc | vmadd | vst | vstq; // @[VDecodeInstruction.scala 603:33]
   wire [63:0] io_actv_ractive_vd = 64'h1 << vdbits; // @[OneHot.scala 64:12]
   wire [63:0] io_actv_ractive_vdm = m ? wactivedw : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_30 = io_actv_ractive_vd | io_actv_ractive_vdm; // @[VDecodeInstruction.scala 121:8]
-  wire [63:0] _io_actv_ractive_T_31 = _io_actv_ractive_T_29 ? _io_actv_ractive_T_30 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_32 = _io_actv_ractive_T_26 | _io_actv_ractive_T_31; // @[VDecodeInstruction.scala 674:80]
-  wire [63:0] _io_actv_ractive_T_33 = ra_vx | ra_vxm; // @[VDecodeInstruction.scala 129:8]
-  wire [63:0] _io_actv_ractive_T_34 = vfmadd4 ? _io_actv_ractive_T_33 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_35 = _io_actv_ractive_T_32 | _io_actv_ractive_T_34; // @[VDecodeInstruction.scala 675:80]
-  wire [63:0] _io_actv_ractive_T_36 = vadwconv ? ractivedw : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_37 = _io_actv_ractive_T_35 | _io_actv_ractive_T_36; // @[VDecodeInstruction.scala 676:80]
-  wire [63:0] _io_actv_ractive_T_38 = adwinit ? ractivedi : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_39 = _io_actv_ractive_T_37 | _io_actv_ractive_T_38; // @[VDecodeInstruction.scala 677:80]
-  wire [63:0] _io_actv_ractive_T_40 = vslideh2 ? ractivesl : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_41 = _io_actv_ractive_T_39 | _io_actv_ractive_T_40; // @[VDecodeInstruction.scala 678:80]
-  wire  _io_actv_ractive_T_42 = aconv | actr; // @[VDecodeInstruction.scala 680:17]
-  wire [63:0] ractiveconv1 = _ractiveconv1_T_2[63:0]; // @[VDecodeInstruction.scala 557:26 571:18]
-  wire [63:0] _io_actv_ractive_T_43 = _io_actv_ractive_T_42 ? ractiveconv1 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_44 = _io_actv_ractive_T_41 | _io_actv_ractive_T_43; // @[VDecodeInstruction.scala 679:80]
-  wire [63:0] ractiveconv2 = _ractiveconv2_T_2[63:0]; // @[VDecodeInstruction.scala 558:26 572:18]
-  wire [63:0] _io_actv_ractive_T_45 = aconv ? ractiveconv2 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_ractive_T_46 = _io_actv_ractive_T_44 | _io_actv_ractive_T_45; // @[VDecodeInstruction.scala 680:80]
-  wire [63:0] ractiveaset = _ractiveaset_T_2[63:0]; // @[VDecodeInstruction.scala 559:26 573:18]
-  wire [63:0] _io_actv_ractive_T_47 = acset ? ractiveaset : 64'h0; // @[Library.scala 18:8]
-  wire  _io_actv_wactive_T_6 = _io_out_vt_valid_T_7 | vdup; // @[VDecodeInstruction.scala 685:71]
-  wire  _io_actv_wactive_T_8 = _io_actv_wactive_T_6 | vld | vfmadd4; // @[VDecodeInstruction.scala 686:23]
-  wire [63:0] _io_actv_wactive_T_10 = _io_actv_wactive_T_8 ? _io_actv_ractive_T_30 : 64'h0; // @[Library.scala 18:8]
-  wire  _io_actv_wactive_T_16 = vmvp | vmulw | vacc | vaddw | vsubw | vevnodd | vzip; // @[VDecodeInstruction.scala 687:62]
+  wire [63:0] _io_actv_ractive_T_24 = io_actv_ractive_vd | io_actv_ractive_vdm; // @[VDecodeInstruction.scala 116:8]
+  wire [63:0] _io_actv_ractive_T_25 = _io_actv_ractive_T_23 ? _io_actv_ractive_T_24 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_26 = _io_actv_ractive_T_20 | _io_actv_ractive_T_25; // @[VDecodeInstruction.scala 602:80]
+  wire [63:0] _io_actv_ractive_T_27 = vadwconv ? ractivedw : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_28 = _io_actv_ractive_T_26 | _io_actv_ractive_T_27; // @[VDecodeInstruction.scala 603:80]
+  wire [63:0] _io_actv_ractive_T_29 = adwinit ? ractivedi : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_30 = _io_actv_ractive_T_28 | _io_actv_ractive_T_29; // @[VDecodeInstruction.scala 604:80]
+  wire [63:0] _io_actv_ractive_T_31 = vslideh2 ? ractivesl : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_32 = _io_actv_ractive_T_30 | _io_actv_ractive_T_31; // @[VDecodeInstruction.scala 605:80]
+  wire  _io_actv_ractive_T_33 = aconv | actr; // @[VDecodeInstruction.scala 607:17]
+  wire [63:0] ractiveconv1 = _ractiveconv1_T_2[63:0]; // @[VDecodeInstruction.scala 486:26 500:18]
+  wire [63:0] _io_actv_ractive_T_34 = _io_actv_ractive_T_33 ? ractiveconv1 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_35 = _io_actv_ractive_T_32 | _io_actv_ractive_T_34; // @[VDecodeInstruction.scala 606:80]
+  wire [63:0] ractiveconv2 = _ractiveconv2_T_2[63:0]; // @[VDecodeInstruction.scala 487:26 501:18]
+  wire [63:0] _io_actv_ractive_T_36 = aconv ? ractiveconv2 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_ractive_T_37 = _io_actv_ractive_T_35 | _io_actv_ractive_T_36; // @[VDecodeInstruction.scala 607:80]
+  wire [63:0] ractiveaset = _ractiveaset_T_2[63:0]; // @[VDecodeInstruction.scala 488:26 502:18]
+  wire [63:0] _io_actv_ractive_T_38 = acset ? ractiveaset : 64'h0; // @[Library.scala 18:8]
+  wire  _io_actv_wactive_T_5 = _io_out_vt_valid_T_6 | vdup; // @[VDecodeInstruction.scala 612:62]
+  wire  _io_actv_wactive_T_6 = _io_actv_wactive_T_5 | vld; // @[VDecodeInstruction.scala 613:16]
+  wire [63:0] _io_actv_wactive_T_8 = _io_actv_wactive_T_6 ? _io_actv_ractive_T_24 : 64'h0; // @[Library.scala 18:8]
+  wire  _io_actv_wactive_T_14 = vmvp | vmulw | vacc | vaddw | vsubw | vevnodd | vzip; // @[VDecodeInstruction.scala 614:62]
   wire [64:0] _io_actv_wactive_vd_T_3 = {io_actv_ractive_vd,1'h0}; // @[Cat.scala 31:58]
-  wire [63:0] io_actv_wactive_vd_1 = _io_actv_wactive_vd_T_3[63:0]; // @[VDecodeInstruction.scala 142:48]
+  wire [63:0] io_actv_wactive_vd_1 = _io_actv_wactive_vd_T_3[63:0]; // @[VDecodeInstruction.scala 137:48]
   wire [67:0] _io_actv_wactive_vdm_T_6 = {wactivedw_b_hi,wactivedw_b_lo,4'h0}; // @[Cat.scala 31:58]
   wire [63:0] io_actv_wactive_vdm_1 = m ? _io_actv_wactive_vdm_T_6[63:0] : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_wactive_T_17 = io_actv_wactive_vd_1 | io_actv_wactive_vdm_1; // @[VDecodeInstruction.scala 146:8]
-  wire [63:0] _io_actv_wactive_T_18 = _io_actv_wactive_T_16 ? _io_actv_wactive_T_17 : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_wactive_T_19 = _io_actv_wactive_T_10 | _io_actv_wactive_T_18; // @[VDecodeInstruction.scala 686:80]
-  wire [63:0] _io_actv_wactive_T_20 = vdwconv ? wactivedw : 64'h0; // @[Library.scala 18:8]
-  wire [63:0] _io_actv_wactive_T_21 = _io_actv_wactive_T_19 | _io_actv_wactive_T_20; // @[VDecodeInstruction.scala 688:80]
-  wire [63:0] wactiveconv = _wactiveconv_T_2[63:0]; // @[VDecodeInstruction.scala 560:26 574:18]
-  wire [63:0] _io_actv_wactive_T_22 = vcget ? wactiveconv : 64'h0; // @[Library.scala 18:8]
-  assign io_out_op = _op_T_206 | _op_T_207; // @[VDecodeInstruction.scala 535:38]
-  assign io_out_f2 = func2[2:0]; // @[VDecodeInstruction.scala 588:21]
+  wire [63:0] _io_actv_wactive_T_15 = io_actv_wactive_vd_1 | io_actv_wactive_vdm_1; // @[VDecodeInstruction.scala 141:8]
+  wire [63:0] _io_actv_wactive_T_16 = _io_actv_wactive_T_14 ? _io_actv_wactive_T_15 : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_wactive_T_17 = _io_actv_wactive_T_8 | _io_actv_wactive_T_16; // @[VDecodeInstruction.scala 613:80]
+  wire [63:0] _io_actv_wactive_T_18 = vdwconv ? wactivedw : 64'h0; // @[Library.scala 18:8]
+  wire [63:0] _io_actv_wactive_T_19 = _io_actv_wactive_T_17 | _io_actv_wactive_T_18; // @[VDecodeInstruction.scala 615:80]
+  wire [63:0] wactiveconv = _wactiveconv_T_2[63:0]; // @[VDecodeInstruction.scala 489:26 503:18]
+  wire [63:0] _io_actv_wactive_T_20 = vcget ? wactiveconv : 64'h0; // @[Library.scala 18:8]
+  assign io_out_op = _op_T_148 | _op_T_149; // @[VDecodeInstruction.scala 464:38]
+  assign io_out_f2 = func2[2:0]; // @[VDecodeInstruction.scala 517:21]
   assign io_out_sz = {io_out_sz_hi,_io_out_sz_T_2}; // @[Cat.scala 31:58]
-  assign io_out_m = m & ~vdmulh2 & ~vmul2 & ~vmulh2 & ~vmulhu2 & ~vmuls2 & ~vmv2 & ~vslidehn2 & ~vslidehp2; // @[VDecodeInstruction.scala 590:97]
-  assign io_out_vd_valid = vdwconv | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5 | vfmt6 | vld | vdup | vfmadd4 |
-    vcget; // @[VDecodeInstruction.scala 593:119]
+  assign io_out_m = m & ~vdmulh2 & ~vmul2 & ~vmulh2 & ~vmulhu2 & ~vmuls2 & ~vmv2 & ~vslidehn2 & ~vslidehp2; // @[VDecodeInstruction.scala 519:97]
+  assign io_out_vd_valid = vdwconv | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt6 | vld | vdup | vcget; // @[VDecodeInstruction.scala 522:99]
   assign io_out_vd_addr = io_in_inst[11:6]; // @[VDecodeInstruction.scala 34:20]
-  assign io_out_ve_addr = vodd ? vdbits : _io_out_ve_addr_T_15; // @[VDecodeInstruction.scala 606:24]
-  assign io_out_vf_addr = vdbits + 6'h2; // @[VDecodeInstruction.scala 609:28]
-  assign io_out_vg_addr = vdbits + 6'h3; // @[VDecodeInstruction.scala 610:28]
-  assign io_out_vs_valid = vadwconv | adwinit | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5 | vfmt6 | vst | vstq |
-    vfmadd4 | aconv; // @[VDecodeInstruction.scala 597:131]
-  assign io_out_vs_addr = vadwconv ? vsdw : _io_out_vs_addr_T_3; // @[VDecodeInstruction.scala 611:24]
-  assign io_out_vt_valid = _io_out_vs_valid_T | vfmadd4_bit_30 & (vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5 | vfmt6)
-     | ~x3 & vfmadd4; // @[VDecodeInstruction.scala 598:113]
-  assign io_out_vt_addr = vadwconv ? vtdw : _io_out_vt_addr_T_7; // @[VDecodeInstruction.scala 615:24]
+  assign io_out_ve_addr = vodd ? vdbits : _io_out_ve_addr_T_15; // @[VDecodeInstruction.scala 535:24]
+  assign io_out_vf_addr = vdbits + 6'h2; // @[VDecodeInstruction.scala 538:28]
+  assign io_out_vg_addr = vdbits + 6'h3; // @[VDecodeInstruction.scala 539:28]
+  assign io_out_vs_valid = vadwconv | adwinit | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt6 | vst | vstq | aconv; // @[VDecodeInstruction.scala 526:111]
+  assign io_out_vs_addr = vadwconv ? vsdw : _io_out_vs_addr_T_3; // @[VDecodeInstruction.scala 540:24]
+  assign io_out_vt_valid = _io_out_vs_valid_T | aconv_bit_30 & (vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt6); // @[VDecodeInstruction.scala 527:42]
+  assign io_out_vt_addr = vadwconv ? vtdw : _io_out_vt_addr_T_7; // @[VDecodeInstruction.scala 544:24]
   assign io_out_vu_valid = vadwconv | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 | vacc | vadd3 | vmacc | vmadd
-     | aconv | vsrans | vsraqs | vfmadd4 | vsel | vslideh2 | m & vevn3; // @[VDecodeInstruction.scala 599:185]
-  assign io_out_vu_addr = vadwconv ? vudw : _io_out_vu_addr_T_26; // @[VDecodeInstruction.scala 620:24]
-  assign io_out_vx_valid = _io_out_vs_valid_T | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 | vslideh2 | vsraqs; // @[VDecodeInstruction.scala 600:113]
-  assign io_out_vx_addr = vadwconv ? func2 : _io_out_vx_addr_T_14; // @[VDecodeInstruction.scala 629:24]
-  assign io_out_vy_valid = _io_out_vs_valid_T | vslideh2 | vfmadd4_bit_30 & vsraqs; // @[VDecodeInstruction.scala 601:54]
-  assign io_out_vy_addr = vadwconv ? vydw : _io_out_vy_addr_T_3; // @[VDecodeInstruction.scala 633:24]
-  assign io_out_vz_valid = _io_out_vu_valid_T_5 | vslideh2 | vsraqs; // @[VDecodeInstruction.scala 602:102]
-  assign io_out_vz_addr = vadwconv ? vzdw : _io_out_vz_addr_T_13; // @[VDecodeInstruction.scala 637:24]
-  assign io_out_sv_valid = x & (vdup | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt5 | vfmt6) | x3 & vfmadd4; // @[VDecodeInstruction.scala 603:97]
-  assign io_out_sv_addr = io_in_addr; // @[VDecodeInstruction.scala 649:18]
-  assign io_out_sv_data = vldstdec ? io_in_data : _io_out_sv_data_T_38; // @[VDecodeInstruction.scala 650:24]
-  assign io_out_cmdsync = adwinit | vadwconv | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 | vslideh2 | vsraqs; // @[VDecodeInstruction.scala 591:112]
-  assign io_cmdq_alu = _io_out_sv_valid_T_6 | vfmadd4 | vadwconv | adwinit; // @[VDecodeInstruction.scala 659:110]
-  assign io_cmdq_conv = aconv | vcget | acset | actr; // @[VDecodeInstruction.scala 660:43]
-  assign io_cmdq_ldst = vldst & ~uncached; // @[VDecodeInstruction.scala 661:25]
-  assign io_cmdq_ld = vld & uncached; // @[VDecodeInstruction.scala 662:21]
-  assign io_cmdq_st = (vst | vstq) & uncached; // @[VDecodeInstruction.scala 663:31]
-  assign io_actv_ractive = _io_actv_ractive_T_46 | _io_actv_ractive_T_47; // @[VDecodeInstruction.scala 681:80]
-  assign io_actv_wactive = _io_actv_wactive_T_21 | _io_actv_wactive_T_22; // @[VDecodeInstruction.scala 689:80]
-  assign io_undef = ~undef_value_6_0; // @[VDecodeInstruction.scala 416:15]
+     | aconv | vsrans | vsraqs | vsel | vslideh2 | m & vevn3; // @[VDecodeInstruction.scala 528:174]
+  assign io_out_vu_addr = vadwconv ? vudw : _io_out_vu_addr_T_26; // @[VDecodeInstruction.scala 549:24]
+  assign io_out_vx_valid = _io_out_vs_valid_T | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 | vslideh2 | vsraqs; // @[VDecodeInstruction.scala 529:113]
+  assign io_out_vx_addr = vadwconv ? func2 : _io_out_vx_addr_T_14; // @[VDecodeInstruction.scala 558:24]
+  assign io_out_vy_valid = _io_out_vs_valid_T | vslideh2 | aconv_bit_30 & vsraqs; // @[VDecodeInstruction.scala 530:54]
+  assign io_out_vy_addr = vadwconv ? vydw : _io_out_vy_addr_T_3; // @[VDecodeInstruction.scala 562:24]
+  assign io_out_vz_valid = _io_out_vu_valid_T_5 | vslideh2 | vsraqs; // @[VDecodeInstruction.scala 531:102]
+  assign io_out_vz_addr = vadwconv ? vzdw : _io_out_vz_addr_T_13; // @[VDecodeInstruction.scala 566:24]
+  assign io_out_sv_valid = x & (vdup | vfmt0 | vfmt1 | vfmt2 | vfmt3 | vfmt4 | vfmt6); // @[VDecodeInstruction.scala 532:24]
+  assign io_out_sv_addr = io_in_addr; // @[VDecodeInstruction.scala 578:18]
+  assign io_out_sv_data = vldstdec ? io_in_data : _io_out_sv_data_T_38; // @[VDecodeInstruction.scala 579:24]
+  assign io_out_cmdsync = adwinit | vadwconv | vdmulh2 | vmul2 | vmulh2 | vmulhu2 | vmuls2 | vmv2 | vslideh2 | vsraqs; // @[VDecodeInstruction.scala 520:112]
+  assign io_cmdq_alu = _io_out_sv_valid_T_5 | vadwconv | adwinit; // @[VDecodeInstruction.scala 588:90]
+  assign io_cmdq_conv = aconv | vcget | acset | actr; // @[VDecodeInstruction.scala 589:43]
+  assign io_cmdq_ldst = vldst & ~uncached; // @[VDecodeInstruction.scala 590:25]
+  assign io_cmdq_ld = vld & uncached; // @[VDecodeInstruction.scala 591:21]
+  assign io_cmdq_st = (vst | vstq) & uncached; // @[VDecodeInstruction.scala 592:31]
+  assign io_actv_ractive = _io_actv_ractive_T_37 | _io_actv_ractive_T_38; // @[VDecodeInstruction.scala 608:80]
+  assign io_actv_wactive = _io_actv_wactive_T_19 | _io_actv_wactive_T_20; // @[VDecodeInstruction.scala 616:80]
+  assign io_undef = ~undef_value_6_0; // @[VDecodeInstruction.scala 375:15]
   always @(posedge clock) begin
     `ifndef SYNTHESIS
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
         if (~reset & ~(~(vdup & vldstdec))) begin
-          $fatal; // @[VDecodeInstruction.scala 238:9]
+          $fatal; // @[VDecodeInstruction.scala 233:9]
         end
     `ifdef STOP_COND
       end
@@ -37575,7 +36366,7 @@
       if (`PRINTF_COND) begin
     `endif
         if (~reset & ~(~(vdup & vldstdec))) begin
-          $fwrite(32'h80000002,"Assertion failed\n    at VDecodeInstruction.scala:238 assert(!(vdup && vldstdec))\n"); // @[VDecodeInstruction.scala 238:9]
+          $fwrite(32'h80000002,"Assertion failed\n    at VDecodeInstruction.scala:233 assert(!(vdup && vldstdec))\n"); // @[VDecodeInstruction.scala 233:9]
         end
     `ifdef PRINTF_COND
       end
@@ -37585,8 +36376,8 @@
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
-        if (_T_3 & ~(_T_320 == 7'h1)) begin
-          $fatal; // @[VDecodeInstruction.scala 417:9]
+        if (_T_3 & ~(_T_233 == 7'h1)) begin
+          $fatal; // @[VDecodeInstruction.scala 376:9]
         end
     `ifdef STOP_COND
       end
@@ -37596,9 +36387,9 @@
     `ifdef PRINTF_COND
       if (`PRINTF_COND) begin
     `endif
-        if (_T_3 & ~(_T_320 == 7'h1)) begin
+        if (_T_3 & ~(_T_233 == 7'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VDecodeInstruction.scala:417 assert(PopCount(Cat(vopbits, undef)) === 1.U)\n"); // @[VDecodeInstruction.scala 417:9]
+            "Assertion failed\n    at VDecodeInstruction.scala:376 assert(PopCount(Cat(vopbits, undef)) === 1.U)\n"); // @[VDecodeInstruction.scala 376:9]
         end
     `ifdef PRINTF_COND
       end
@@ -37608,8 +36399,8 @@
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
-        if (_T_3 & ~(_T_331[1:0] <= 2'h1)) begin
-          $fatal; // @[VDecodeInstruction.scala 654:9]
+        if (_T_3 & ~(_T_244[1:0] <= 2'h1)) begin
+          $fatal; // @[VDecodeInstruction.scala 583:9]
         end
     `ifdef STOP_COND
       end
@@ -37619,9 +36410,9 @@
     `ifdef PRINTF_COND
       if (`PRINTF_COND) begin
     `endif
-        if (_T_3 & ~(_T_331[1:0] <= 2'h1)) begin
+        if (_T_3 & ~(_T_244[1:0] <= 2'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VDecodeInstruction.scala:654 assert(PopCount(io.out.sz) <= 1.U)\n"); // @[VDecodeInstruction.scala 654:9]
+            "Assertion failed\n    at VDecodeInstruction.scala:583 assert(PopCount(io.out.sz) <= 1.U)\n"); // @[VDecodeInstruction.scala 583:9]
         end
     `ifdef PRINTF_COND
       end
@@ -37632,7 +36423,7 @@
       if (`STOP_COND) begin
     `endif
         if (_T_3 & ~(~(io_out_vx_valid & ~io_out_cmdsync))) begin
-          $fatal; // @[VDecodeInstruction.scala 655:9]
+          $fatal; // @[VDecodeInstruction.scala 584:9]
         end
     `ifdef STOP_COND
       end
@@ -37644,7 +36435,7 @@
     `endif
         if (_T_3 & ~(~(io_out_vx_valid & ~io_out_cmdsync))) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VDecodeInstruction.scala:655 assert(!(io.out.vx.valid && !io.out.cmdsync))\n"); // @[VDecodeInstruction.scala 655:9]
+            "Assertion failed\n    at VDecodeInstruction.scala:584 assert(!(io.out.vx.valid && !io.out.cmdsync))\n"); // @[VDecodeInstruction.scala 584:9]
         end
     `ifdef PRINTF_COND
       end
@@ -37654,8 +36445,8 @@
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
-        if (_T_3 & ~(~(io_out_vy_valid & _T_337))) begin
-          $fatal; // @[VDecodeInstruction.scala 656:9]
+        if (_T_3 & ~(~(io_out_vy_valid & _T_250))) begin
+          $fatal; // @[VDecodeInstruction.scala 585:9]
         end
     `ifdef STOP_COND
       end
@@ -37665,9 +36456,9 @@
     `ifdef PRINTF_COND
       if (`PRINTF_COND) begin
     `endif
-        if (_T_3 & ~(~(io_out_vy_valid & _T_337))) begin
+        if (_T_3 & ~(~(io_out_vy_valid & _T_250))) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VDecodeInstruction.scala:656 assert(!(io.out.vy.valid && !io.out.cmdsync))\n"); // @[VDecodeInstruction.scala 656:9]
+            "Assertion failed\n    at VDecodeInstruction.scala:585 assert(!(io.out.vy.valid && !io.out.cmdsync))\n"); // @[VDecodeInstruction.scala 585:9]
         end
     `ifdef PRINTF_COND
       end
@@ -37677,8 +36468,8 @@
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
-        if (_T_3 & ~(~(io_out_vz_valid & _T_337))) begin
-          $fatal; // @[VDecodeInstruction.scala 657:9]
+        if (_T_3 & ~(~(io_out_vz_valid & _T_250))) begin
+          $fatal; // @[VDecodeInstruction.scala 586:9]
         end
     `ifdef STOP_COND
       end
@@ -37688,9 +36479,9 @@
     `ifdef PRINTF_COND
       if (`PRINTF_COND) begin
     `endif
-        if (_T_3 & ~(~(io_out_vz_valid & _T_337))) begin
+        if (_T_3 & ~(~(io_out_vz_valid & _T_250))) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VDecodeInstruction.scala:657 assert(!(io.out.vz.valid && !io.out.cmdsync))\n"); // @[VDecodeInstruction.scala 657:9]
+            "Assertion failed\n    at VDecodeInstruction.scala:586 assert(!(io.out.vz.valid && !io.out.cmdsync))\n"); // @[VDecodeInstruction.scala 586:9]
         end
     `ifdef PRINTF_COND
       end
@@ -37700,8 +36491,8 @@
     `ifdef STOP_COND
       if (`STOP_COND) begin
     `endif
-        if (_T_3 & ~(_T_369 == 3'h1)) begin
-          $fatal; // @[VDecodeInstruction.scala 666:9]
+        if (_T_3 & ~(_T_282 == 3'h1)) begin
+          $fatal; // @[VDecodeInstruction.scala 595:9]
         end
     `ifdef STOP_COND
       end
@@ -37711,9 +36502,9 @@
     `ifdef PRINTF_COND
       if (`PRINTF_COND) begin
     `endif
-        if (_T_3 & ~(_T_369 == 3'h1)) begin
+        if (_T_3 & ~(_T_282 == 3'h1)) begin
           $fwrite(32'h80000002,
-            "Assertion failed\n    at VDecodeInstruction.scala:666 assert(PopCount(cmdqchk) === 1.U)\n"); // @[VDecodeInstruction.scala 666:9]
+            "Assertion failed\n    at VDecodeInstruction.scala:595 assert(PopCount(cmdqchk) === 1.U)\n"); // @[VDecodeInstruction.scala 595:9]
         end
     `ifdef PRINTF_COND
       end
@@ -50723,8 +49514,8 @@
   reg  value_tin_cmdsync; // @[VCmdq.scala 37:18]
   reg  value_m; // @[VCmdq.scala 37:18]
   reg [4:0] step; // @[VCmdq.scala 42:21]
-  wire  vevnodd = value_tin_op == 7'h5d | value_tin_op == 7'h5e | value_tin_op == 7'h5f; // @[VAlu.scala 201:60]
-  wire  vzip = value_tin_op == 7'h60; // @[VAlu.scala 202:22]
+  wire  vevnodd = value_tin_op == 7'h41 | value_tin_op == 7'h42 | value_tin_op == 7'h43; // @[VAlu.scala 201:60]
+  wire  vzip = value_tin_op == 7'h44; // @[VAlu.scala 202:22]
   wire  _last_T = ~value_m; // @[VAlu.scala 204:16]
   wire  last = ~value_m | step == 5'h3; // @[VAlu.scala 204:19]
   wire [5:0] _out_vd_addr_T_1 = value_tin_vd_addr + 6'h1; // @[VAlu.scala 206:31]
@@ -54709,8 +53500,8 @@
   reg  value_tin_cmdsync; // @[VCmdq.scala 37:18]
   reg  value_m; // @[VCmdq.scala 37:18]
   reg [4:0] step; // @[VCmdq.scala 42:21]
-  wire  vevnodd = value_tin_op == 7'h5d | value_tin_op == 7'h5e | value_tin_op == 7'h5f; // @[VAlu.scala 201:60]
-  wire  vzip = value_tin_op == 7'h60; // @[VAlu.scala 202:22]
+  wire  vevnodd = value_tin_op == 7'h41 | value_tin_op == 7'h42 | value_tin_op == 7'h43; // @[VAlu.scala 201:60]
+  wire  vzip = value_tin_op == 7'h44; // @[VAlu.scala 202:22]
   wire  _last_T = ~value_m; // @[VAlu.scala 204:16]
   wire  last = ~value_m | step == 5'h3; // @[VAlu.scala 204:19]
   wire [5:0] _out_vd_addr_T_1 = value_tin_vd_addr + 6'h1; // @[VAlu.scala 206:31]
@@ -58938,7 +57729,7 @@
   wire [3:0] _log_clz_T_44 = _log_clz_T_29[2] ? 4'h2 : _log_clz_T_43; // @[Mux.scala 47:70]
   wire [3:0] _log_clz_T_45 = _log_clz_T_29[1] ? 4'h1 : _log_clz_T_44; // @[Mux.scala 47:70]
   wire [3:0] log_clz = _log_clz_T_29[0] ? 4'h0 : _log_clz_T_45; // @[Mux.scala 47:70]
-  wire [3:0] _log_T_33 = log_a[7] ? log_clo : log_clz; // @[Library.scala 274:8]
+  wire [3:0] _log_T_33 = log_a[7] ? log_clo : log_clz; // @[Library.scala 275:8]
   wire [3:0] _log_T_34 = io_in_sz[0] ? _log_T_33 : 4'h0; // @[Library.scala 18:8]
   wire [3:0] _log_T_35 = io_op_log_clb ? _log_T_34 : 4'h0; // @[Library.scala 18:8]
   wire [7:0] _GEN_24 = {{4'd0}, _log_T_35}; // @[VAluInt.scala 1359:81]
@@ -59423,7 +58214,7 @@
   wire [3:0] _log_clz_T_90 = _log_clz_T_75[2] ? 4'h2 : _log_clz_T_89; // @[Mux.scala 47:70]
   wire [3:0] _log_clz_T_91 = _log_clz_T_75[1] ? 4'h1 : _log_clz_T_90; // @[Mux.scala 47:70]
   wire [3:0] log_clz_1 = _log_clz_T_75[0] ? 4'h0 : _log_clz_T_91; // @[Mux.scala 47:70]
-  wire [3:0] _log_T_146 = log_a[15] ? log_clo_1 : log_clz_1; // @[Library.scala 274:8]
+  wire [3:0] _log_T_146 = log_a[15] ? log_clo_1 : log_clz_1; // @[Library.scala 275:8]
   wire [3:0] _log_T_147 = io_in_sz[0] ? _log_T_146 : 4'h0; // @[Library.scala 18:8]
   wire [3:0] _log_T_148 = io_op_log_clb ? _log_T_147 : 4'h0; // @[Library.scala 18:8]
   wire [7:0] _GEN_56 = {{4'd0}, _log_T_148}; // @[VAluInt.scala 1359:81]
@@ -59909,7 +58700,7 @@
   wire [3:0] _log_clz_T_136 = _log_clz_T_121[2] ? 4'h2 : _log_clz_T_135; // @[Mux.scala 47:70]
   wire [3:0] _log_clz_T_137 = _log_clz_T_121[1] ? 4'h1 : _log_clz_T_136; // @[Mux.scala 47:70]
   wire [3:0] log_clz_2 = _log_clz_T_121[0] ? 4'h0 : _log_clz_T_137; // @[Mux.scala 47:70]
-  wire [3:0] _log_T_259 = log_a[23] ? log_clo_2 : log_clz_2; // @[Library.scala 274:8]
+  wire [3:0] _log_T_259 = log_a[23] ? log_clo_2 : log_clz_2; // @[Library.scala 275:8]
   wire [3:0] _log_T_260 = io_in_sz[0] ? _log_T_259 : 4'h0; // @[Library.scala 18:8]
   wire [3:0] _log_T_261 = io_op_log_clb ? _log_T_260 : 4'h0; // @[Library.scala 18:8]
   wire [7:0] _GEN_88 = {{4'd0}, _log_T_261}; // @[VAluInt.scala 1359:81]
@@ -60395,7 +59186,7 @@
   wire [3:0] _log_clz_T_182 = _log_clz_T_167[2] ? 4'h2 : _log_clz_T_181; // @[Mux.scala 47:70]
   wire [3:0] _log_clz_T_183 = _log_clz_T_167[1] ? 4'h1 : _log_clz_T_182; // @[Mux.scala 47:70]
   wire [3:0] log_clz_3 = _log_clz_T_167[0] ? 4'h0 : _log_clz_T_183; // @[Mux.scala 47:70]
-  wire [3:0] _log_T_372 = log_a[31] ? log_clo_3 : log_clz_3; // @[Library.scala 274:8]
+  wire [3:0] _log_T_372 = log_a[31] ? log_clo_3 : log_clz_3; // @[Library.scala 275:8]
   wire [3:0] _log_T_373 = io_in_sz[0] ? _log_T_372 : 4'h0; // @[Library.scala 18:8]
   wire [3:0] _log_T_374 = io_op_log_clb ? _log_T_373 : 4'h0; // @[Library.scala 18:8]
   wire [7:0] _GEN_120 = {{4'd0}, _log_T_374}; // @[VAluInt.scala 1359:81]
@@ -60942,7 +59733,7 @@
   wire [4:0] _log_clz_T_254 = _log_clz_T_223[2] ? 5'h2 : _log_clz_T_253; // @[Mux.scala 47:70]
   wire [4:0] _log_clz_T_255 = _log_clz_T_223[1] ? 5'h1 : _log_clz_T_254; // @[Mux.scala 47:70]
   wire [4:0] log_clz_4 = _log_clz_T_223[0] ? 5'h0 : _log_clz_T_255; // @[Mux.scala 47:70]
-  wire [4:0] _log_T_485 = log_a_1[15] ? log_clo_4 : log_clz_4; // @[Library.scala 274:8]
+  wire [4:0] _log_T_485 = log_a_1[15] ? log_clo_4 : log_clz_4; // @[Library.scala 275:8]
   wire [4:0] _log_T_486 = io_in_sz[1] ? _log_T_485 : 5'h0; // @[Library.scala 18:8]
   wire [4:0] _log_T_487 = io_op_log_clb ? _log_T_486 : 5'h0; // @[Library.scala 18:8]
   wire [15:0] _GEN_153 = {{11'd0}, _log_T_487}; // @[VAluInt.scala 1359:81]
@@ -61461,7 +60252,7 @@
   wire [4:0] _log_clz_T_326 = _log_clz_T_295[2] ? 5'h2 : _log_clz_T_325; // @[Mux.scala 47:70]
   wire [4:0] _log_clz_T_327 = _log_clz_T_295[1] ? 5'h1 : _log_clz_T_326; // @[Mux.scala 47:70]
   wire [4:0] log_clz_5 = _log_clz_T_295[0] ? 5'h0 : _log_clz_T_327; // @[Mux.scala 47:70]
-  wire [4:0] _log_T_648 = log_a_1[31] ? log_clo_5 : log_clz_5; // @[Library.scala 274:8]
+  wire [4:0] _log_T_648 = log_a_1[31] ? log_clo_5 : log_clz_5; // @[Library.scala 275:8]
   wire [4:0] _log_T_649 = io_in_sz[1] ? _log_T_648 : 5'h0; // @[Library.scala 18:8]
   wire [4:0] _log_T_650 = io_op_log_clb ? _log_T_649 : 5'h0; // @[Library.scala 18:8]
   wire [15:0] _GEN_187 = {{11'd0}, _log_T_650}; // @[VAluInt.scala 1359:81]
@@ -62016,7 +60807,7 @@
   wire [5:0] _log_clz_T_440 = _log_clz_T_377[2] ? 6'h2 : _log_clz_T_439; // @[Mux.scala 47:70]
   wire [5:0] _log_clz_T_441 = _log_clz_T_377[1] ? 6'h1 : _log_clz_T_440; // @[Mux.scala 47:70]
   wire [5:0] log_clz_6 = _log_clz_T_377[0] ? 6'h0 : _log_clz_T_441; // @[Mux.scala 47:70]
-  wire [5:0] _log_T_811 = log_a_2[31] ? log_clo_6 : log_clz_6; // @[Library.scala 274:8]
+  wire [5:0] _log_T_811 = log_a_2[31] ? log_clo_6 : log_clz_6; // @[Library.scala 275:8]
   wire [5:0] _log_T_812 = io_in_sz[2] ? _log_T_811 : 6'h0; // @[Library.scala 18:8]
   wire [5:0] _log_T_813 = io_op_log_clb ? _log_T_812 : 6'h0; // @[Library.scala 18:8]
   wire [31:0] _GEN_222 = {{26'd0}, _log_T_813}; // @[VAluInt.scala 1359:81]
@@ -64263,30 +63054,30 @@
   wire [2:0] _T_6 = _GEN_89 + _T_4; // @[Bitwise.scala 48:55]
   wire  _T_11 = ~reset; // @[VAluInt.scala 47:9]
   wire  e_absd = io_in_op == 7'hf; // @[VAluInt.scala 63:26]
-  wire  e_acc = io_in_op == 7'h37; // @[VAluInt.scala 64:26]
+  wire  e_acc = io_in_op == 7'h35; // @[VAluInt.scala 64:26]
   wire  e_dup = io_in_op == 7'h1; // @[VAluInt.scala 65:26]
   wire  e_max = io_in_op == 7'h10; // @[VAluInt.scala 66:26]
   wire  e_min = io_in_op == 7'h11; // @[VAluInt.scala 67:26]
   wire  e_rsub = io_in_op == 7'h8; // @[VAluInt.scala 68:26]
   wire  e_srans = io_in_op == 7'h25; // @[VAluInt.scala 69:26]
   wire  e_sraqs = io_in_op == 7'h26; // @[VAluInt.scala 70:42]
-  wire  _e_slidevn_T_3 = io_in_op == 7'h58; // @[VAluInt.scala 72:86]
-  wire  e_slidevn = io_in_op == 7'h56 | io_in_op == 7'h57 | io_in_op == 7'h58; // @[VAluInt.scala 72:74]
-  wire  _e_slidevp_T_3 = io_in_op == 7'h5b; // @[VAluInt.scala 73:86]
-  wire  e_slidevp = io_in_op == 7'h59 | io_in_op == 7'h5a | io_in_op == 7'h5b; // @[VAluInt.scala 73:74]
-  wire  e_sel = io_in_op == 7'h5c; // @[VAluInt.scala 76:24]
-  wire  _e_evn_T_1 = io_in_op == 7'h5f; // @[VAluInt.scala 77:49]
-  wire  e_evn = io_in_op == 7'h5d | io_in_op == 7'h5f; // @[VAluInt.scala 77:37]
-  wire  e_odd = io_in_op == 7'h5e | _e_evn_T_1; // @[VAluInt.scala 78:37]
-  wire  e_zip = io_in_op == 7'h60; // @[VAluInt.scala 79:24]
+  wire  _e_slidevn_T_3 = io_in_op == 7'h3c; // @[VAluInt.scala 72:86]
+  wire  e_slidevn = io_in_op == 7'h3a | io_in_op == 7'h3b | io_in_op == 7'h3c; // @[VAluInt.scala 72:74]
+  wire  _e_slidevp_T_3 = io_in_op == 7'h3f; // @[VAluInt.scala 73:86]
+  wire  e_slidevp = io_in_op == 7'h3d | io_in_op == 7'h3e | io_in_op == 7'h3f; // @[VAluInt.scala 73:74]
+  wire  e_sel = io_in_op == 7'h40; // @[VAluInt.scala 76:24]
+  wire  _e_evn_T_1 = io_in_op == 7'h43; // @[VAluInt.scala 77:49]
+  wire  e_evn = io_in_op == 7'h41 | io_in_op == 7'h43; // @[VAluInt.scala 77:37]
+  wire  e_odd = io_in_op == 7'h42 | _e_evn_T_1; // @[VAluInt.scala 78:37]
+  wire  e_zip = io_in_op == 7'h44; // @[VAluInt.scala 79:24]
   wire  e_dwinit = io_in_op == 7'h21; // @[VAluInt.scala 81:27]
-  wire  _e_dwconv_T_1 = io_in_op == 7'h64; // @[VAluInt.scala 82:55]
-  wire  e_dwconv = io_in_op == 7'h63 | io_in_op == 7'h64; // @[VAluInt.scala 82:43]
+  wire  _e_dwconv_T_1 = io_in_op == 7'h47; // @[VAluInt.scala 82:55]
+  wire  e_dwconv = io_in_op == 7'h46 | io_in_op == 7'h47; // @[VAluInt.scala 82:43]
   wire  e_add_add = io_in_op == 7'h6; // @[VAluInt.scala 85:29]
-  wire  e_add_adds = io_in_op == 7'h33; // @[VAluInt.scala 86:29]
-  wire  e_add_addw = io_in_op == 7'h35; // @[VAluInt.scala 87:29]
+  wire  e_add_adds = io_in_op == 7'h31; // @[VAluInt.scala 86:29]
+  wire  e_add_addw = io_in_op == 7'h33; // @[VAluInt.scala 87:29]
   wire  e_add_add3 = io_in_op == 7'h12; // @[VAluInt.scala 88:29]
-  wire  e_add_hadd = io_in_op == 7'h3a; // @[VAluInt.scala 89:29]
+  wire  e_add_hadd = io_in_op == 7'h38; // @[VAluInt.scala 89:29]
   wire  e_add = e_add_add | e_add_adds | e_add_addw | e_add_add3 | e_add_hadd; // @[VAluInt.scala 90:67]
   wire  e_cmp_eq = io_in_op == 7'h9; // @[VAluInt.scala 92:27]
   wire  e_cmp_ne = io_in_op == 7'ha; // @[VAluInt.scala 93:27]
@@ -64339,8 +63130,8 @@
   wire  e_mv2 = io_in_op == 7'h1d; // @[VAluInt.scala 127:24]
   wire  e_mvp = io_in_op == 7'h1e; // @[VAluInt.scala 128:24]
   wire  e_mv = io_in_op == 7'h1c | e_mv2 | e_mvp; // @[VAluInt.scala 129:45]
-  wire  e_padd_add = io_in_op == 7'h38; // @[VAluInt.scala 131:29]
-  wire  e_padd_sub = io_in_op == 7'h39; // @[VAluInt.scala 132:29]
+  wire  e_padd_add = io_in_op == 7'h36; // @[VAluInt.scala 131:29]
+  wire  e_padd_sub = io_in_op == 7'h37; // @[VAluInt.scala 132:29]
   wire  e_padd = e_padd_add | e_padd_sub; // @[VAluInt.scala 133:27]
   wire  e_shf_shl = io_in_op == 7'h22; // @[VAluInt.scala 135:28]
   wire  e_shf_shr = io_in_op == 7'h23; // @[VAluInt.scala 136:28]
@@ -64348,9 +63139,9 @@
   wire  e_shf_l = e_shf_shl | e_shf_shf; // @[VAluInt.scala 138:27]
   wire  e_shf_r = e_shf_shr | e_shf_shf; // @[VAluInt.scala 139:27]
   wire  e_sub_sub = io_in_op == 7'h7; // @[VAluInt.scala 141:29]
-  wire  e_sub_subs = io_in_op == 7'h34; // @[VAluInt.scala 142:29]
-  wire  e_sub_subw = io_in_op == 7'h36; // @[VAluInt.scala 143:29]
-  wire  e_sub_hsub = io_in_op == 7'h3b; // @[VAluInt.scala 144:29]
+  wire  e_sub_subs = io_in_op == 7'h32; // @[VAluInt.scala 142:29]
+  wire  e_sub_subw = io_in_op == 7'h34; // @[VAluInt.scala 143:29]
+  wire  e_sub_hsub = io_in_op == 7'h39; // @[VAluInt.scala 144:29]
   wire  e_sub = e_sub_sub | e_sub_subs | e_sub_subw | e_sub_hsub; // @[VAluInt.scala 145:53]
   wire  e_negative = io_in_f2[0] & e_mul0_dmulh; // @[VAluInt.scala 147:32]
   wire  e_round = io_in_f2[1] & (e_add_hadd | e_sub_hsub | e_mul0_dmulh | e_mul0_mulh | e_shf_shf | e_srans | e_sraqs); // @[VAluInt.scala 148:32]
@@ -68802,29 +67593,29 @@
   wire [2:0] _T_6 = _GEN_89 + _T_4; // @[Bitwise.scala 48:55]
   wire  _T_11 = ~reset; // @[VAluInt.scala 47:9]
   wire  e_absd = io_in_op == 7'hf; // @[VAluInt.scala 63:26]
-  wire  e_acc = io_in_op == 7'h37; // @[VAluInt.scala 64:26]
+  wire  e_acc = io_in_op == 7'h35; // @[VAluInt.scala 64:26]
   wire  e_dup = io_in_op == 7'h1; // @[VAluInt.scala 65:26]
   wire  e_max = io_in_op == 7'h10; // @[VAluInt.scala 66:26]
   wire  e_min = io_in_op == 7'h11; // @[VAluInt.scala 67:26]
   wire  e_rsub = io_in_op == 7'h8; // @[VAluInt.scala 68:26]
   wire  e_srans = io_in_op == 7'h25; // @[VAluInt.scala 69:26]
-  wire  _e_slidevn_T_3 = io_in_op == 7'h58; // @[VAluInt.scala 72:86]
-  wire  e_slidevn = io_in_op == 7'h56 | io_in_op == 7'h57 | io_in_op == 7'h58; // @[VAluInt.scala 72:74]
-  wire  _e_slidevp_T_3 = io_in_op == 7'h5b; // @[VAluInt.scala 73:86]
-  wire  e_slidevp = io_in_op == 7'h59 | io_in_op == 7'h5a | io_in_op == 7'h5b; // @[VAluInt.scala 73:74]
-  wire  e_sel = io_in_op == 7'h5c; // @[VAluInt.scala 76:24]
-  wire  _e_evn_T_1 = io_in_op == 7'h5f; // @[VAluInt.scala 77:49]
-  wire  e_evn = io_in_op == 7'h5d | io_in_op == 7'h5f; // @[VAluInt.scala 77:37]
-  wire  e_odd = io_in_op == 7'h5e | _e_evn_T_1; // @[VAluInt.scala 78:37]
-  wire  e_zip = io_in_op == 7'h60; // @[VAluInt.scala 79:24]
+  wire  _e_slidevn_T_3 = io_in_op == 7'h3c; // @[VAluInt.scala 72:86]
+  wire  e_slidevn = io_in_op == 7'h3a | io_in_op == 7'h3b | io_in_op == 7'h3c; // @[VAluInt.scala 72:74]
+  wire  _e_slidevp_T_3 = io_in_op == 7'h3f; // @[VAluInt.scala 73:86]
+  wire  e_slidevp = io_in_op == 7'h3d | io_in_op == 7'h3e | io_in_op == 7'h3f; // @[VAluInt.scala 73:74]
+  wire  e_sel = io_in_op == 7'h40; // @[VAluInt.scala 76:24]
+  wire  _e_evn_T_1 = io_in_op == 7'h43; // @[VAluInt.scala 77:49]
+  wire  e_evn = io_in_op == 7'h41 | io_in_op == 7'h43; // @[VAluInt.scala 77:37]
+  wire  e_odd = io_in_op == 7'h42 | _e_evn_T_1; // @[VAluInt.scala 78:37]
+  wire  e_zip = io_in_op == 7'h44; // @[VAluInt.scala 79:24]
   wire  e_dwinit = io_in_op == 7'h21; // @[VAluInt.scala 81:27]
-  wire  _e_dwconv_T_1 = io_in_op == 7'h64; // @[VAluInt.scala 82:55]
-  wire  e_dwconv = io_in_op == 7'h63 | io_in_op == 7'h64; // @[VAluInt.scala 82:43]
+  wire  _e_dwconv_T_1 = io_in_op == 7'h47; // @[VAluInt.scala 82:55]
+  wire  e_dwconv = io_in_op == 7'h46 | io_in_op == 7'h47; // @[VAluInt.scala 82:43]
   wire  e_add_add = io_in_op == 7'h6; // @[VAluInt.scala 85:29]
-  wire  e_add_adds = io_in_op == 7'h33; // @[VAluInt.scala 86:29]
-  wire  e_add_addw = io_in_op == 7'h35; // @[VAluInt.scala 87:29]
+  wire  e_add_adds = io_in_op == 7'h31; // @[VAluInt.scala 86:29]
+  wire  e_add_addw = io_in_op == 7'h33; // @[VAluInt.scala 87:29]
   wire  e_add_add3 = io_in_op == 7'h12; // @[VAluInt.scala 88:29]
-  wire  e_add_hadd = io_in_op == 7'h3a; // @[VAluInt.scala 89:29]
+  wire  e_add_hadd = io_in_op == 7'h38; // @[VAluInt.scala 89:29]
   wire  e_add = e_add_add | e_add_adds | e_add_addw | e_add_add3 | e_add_hadd; // @[VAluInt.scala 90:67]
   wire  e_cmp_eq = io_in_op == 7'h9; // @[VAluInt.scala 92:27]
   wire  e_cmp_ne = io_in_op == 7'ha; // @[VAluInt.scala 93:27]
@@ -68877,8 +67668,8 @@
   wire  e_mv2 = io_in_op == 7'h1d; // @[VAluInt.scala 127:24]
   wire  e_mvp = io_in_op == 7'h1e; // @[VAluInt.scala 128:24]
   wire  e_mv = io_in_op == 7'h1c | e_mv2 | e_mvp; // @[VAluInt.scala 129:45]
-  wire  e_padd_add = io_in_op == 7'h38; // @[VAluInt.scala 131:29]
-  wire  e_padd_sub = io_in_op == 7'h39; // @[VAluInt.scala 132:29]
+  wire  e_padd_add = io_in_op == 7'h36; // @[VAluInt.scala 131:29]
+  wire  e_padd_sub = io_in_op == 7'h37; // @[VAluInt.scala 132:29]
   wire  e_padd = e_padd_add | e_padd_sub; // @[VAluInt.scala 133:27]
   wire  e_shf_shl = io_in_op == 7'h22; // @[VAluInt.scala 135:28]
   wire  e_shf_shr = io_in_op == 7'h23; // @[VAluInt.scala 136:28]
@@ -68886,9 +67677,9 @@
   wire  e_shf_l = e_shf_shl | e_shf_shf; // @[VAluInt.scala 138:27]
   wire  e_shf_r = e_shf_shr | e_shf_shf; // @[VAluInt.scala 139:27]
   wire  e_sub_sub = io_in_op == 7'h7; // @[VAluInt.scala 141:29]
-  wire  e_sub_subs = io_in_op == 7'h34; // @[VAluInt.scala 142:29]
-  wire  e_sub_subw = io_in_op == 7'h36; // @[VAluInt.scala 143:29]
-  wire  e_sub_hsub = io_in_op == 7'h3b; // @[VAluInt.scala 144:29]
+  wire  e_sub_subs = io_in_op == 7'h32; // @[VAluInt.scala 142:29]
+  wire  e_sub_subw = io_in_op == 7'h34; // @[VAluInt.scala 143:29]
+  wire  e_sub_hsub = io_in_op == 7'h39; // @[VAluInt.scala 144:29]
   wire  e_sub = e_sub_sub | e_sub_subs | e_sub_subw | e_sub_hsub; // @[VAluInt.scala 145:53]
   wire  e_negative = io_in_f2[0] & e_mul0_dmulh; // @[VAluInt.scala 147:32]
   wire  e_round = io_in_f2[1] & (e_add_hadd | e_sub_hsub | e_mul0_dmulh | e_mul0_mulh | e_shf_shf | e_srans); // @[VAluInt.scala 148:32]
@@ -73042,37 +71833,37 @@
   wire  alu1_io_whint_1_valid; // @[VAlu.scala 355:20]
   wire [5:0] alu1_io_whint_1_addr; // @[VAlu.scala 355:20]
   wire  _T = io_in_valid & io_in_ready; // @[VAlu.scala 62:23]
-  wire  _supported_T_1 = io_in_bits_0_bits_op == 7'h37; // @[VAlu.scala 68:16]
+  wire  _supported_T_1 = io_in_bits_0_bits_op == 7'h35; // @[VAlu.scala 68:16]
   wire  _supported_T_2 = io_in_bits_0_bits_op == 7'hf | _supported_T_1; // @[VAlu.scala 67:30]
   wire  _supported_T_3 = io_in_bits_0_bits_op == 7'h6; // @[VAlu.scala 69:16]
   wire  _supported_T_4 = _supported_T_2 | _supported_T_3; // @[VAlu.scala 68:29]
-  wire  _supported_T_5 = io_in_bits_0_bits_op == 7'h33; // @[VAlu.scala 70:16]
+  wire  _supported_T_5 = io_in_bits_0_bits_op == 7'h31; // @[VAlu.scala 70:16]
   wire  _supported_T_6 = _supported_T_4 | _supported_T_5; // @[VAlu.scala 69:29]
-  wire  _supported_T_7 = io_in_bits_0_bits_op == 7'h35; // @[VAlu.scala 71:16]
+  wire  _supported_T_7 = io_in_bits_0_bits_op == 7'h33; // @[VAlu.scala 71:16]
   wire  _supported_T_8 = _supported_T_6 | _supported_T_7; // @[VAlu.scala 70:30]
   wire  _supported_T_9 = io_in_bits_0_bits_op == 7'h12; // @[VAlu.scala 72:16]
   wire  _supported_T_10 = _supported_T_8 | _supported_T_9; // @[VAlu.scala 71:30]
   wire  _supported_T_11 = io_in_bits_0_bits_op == 7'h1; // @[VAlu.scala 73:16]
   wire  _supported_T_12 = _supported_T_10 | _supported_T_11; // @[VAlu.scala 72:30]
-  wire  _supported_T_13 = io_in_bits_0_bits_op == 7'h3a; // @[VAlu.scala 74:16]
+  wire  _supported_T_13 = io_in_bits_0_bits_op == 7'h38; // @[VAlu.scala 74:16]
   wire  _supported_T_14 = _supported_T_12 | _supported_T_13; // @[VAlu.scala 73:29]
-  wire  _supported_T_15 = io_in_bits_0_bits_op == 7'h3b; // @[VAlu.scala 75:16]
+  wire  _supported_T_15 = io_in_bits_0_bits_op == 7'h39; // @[VAlu.scala 75:16]
   wire  _supported_T_16 = _supported_T_14 | _supported_T_15; // @[VAlu.scala 74:30]
   wire  _supported_T_17 = io_in_bits_0_bits_op == 7'h10; // @[VAlu.scala 76:16]
   wire  _supported_T_18 = _supported_T_16 | _supported_T_17; // @[VAlu.scala 75:30]
   wire  _supported_T_19 = io_in_bits_0_bits_op == 7'h11; // @[VAlu.scala 77:16]
   wire  _supported_T_20 = _supported_T_18 | _supported_T_19; // @[VAlu.scala 76:29]
-  wire  _supported_T_21 = io_in_bits_0_bits_op == 7'h38; // @[VAlu.scala 78:16]
+  wire  _supported_T_21 = io_in_bits_0_bits_op == 7'h36; // @[VAlu.scala 78:16]
   wire  _supported_T_22 = _supported_T_20 | _supported_T_21; // @[VAlu.scala 77:29]
-  wire  _supported_T_23 = io_in_bits_0_bits_op == 7'h39; // @[VAlu.scala 79:16]
+  wire  _supported_T_23 = io_in_bits_0_bits_op == 7'h37; // @[VAlu.scala 79:16]
   wire  _supported_T_24 = _supported_T_22 | _supported_T_23; // @[VAlu.scala 78:30]
   wire  _supported_T_25 = io_in_bits_0_bits_op == 7'h8; // @[VAlu.scala 80:16]
   wire  _supported_T_26 = _supported_T_24 | _supported_T_25; // @[VAlu.scala 79:30]
   wire  _supported_T_27 = io_in_bits_0_bits_op == 7'h7; // @[VAlu.scala 81:16]
   wire  _supported_T_28 = _supported_T_26 | _supported_T_27; // @[VAlu.scala 80:30]
-  wire  _supported_T_29 = io_in_bits_0_bits_op == 7'h34; // @[VAlu.scala 82:16]
+  wire  _supported_T_29 = io_in_bits_0_bits_op == 7'h32; // @[VAlu.scala 82:16]
   wire  _supported_T_30 = _supported_T_28 | _supported_T_29; // @[VAlu.scala 81:29]
-  wire  _supported_T_31 = io_in_bits_0_bits_op == 7'h36; // @[VAlu.scala 83:16]
+  wire  _supported_T_31 = io_in_bits_0_bits_op == 7'h34; // @[VAlu.scala 83:16]
   wire  _supported_T_32 = _supported_T_30 | _supported_T_31; // @[VAlu.scala 82:30]
   wire  _supported_T_33 = io_in_bits_0_bits_op == 7'h9; // @[VAlu.scala 85:16]
   wire  _supported_T_34 = _supported_T_32 | _supported_T_33; // @[VAlu.scala 83:30]
@@ -73142,63 +71933,63 @@
   wire  _supported_T_98 = _supported_T_96 | _supported_T_97; // @[VAlu.scala 119:30]
   wire  _supported_T_99 = io_in_bits_0_bits_op == 7'h2f; // @[VAlu.scala 121:16]
   wire  _supported_T_100 = _supported_T_98 | _supported_T_99; // @[VAlu.scala 120:31]
-  wire  _supported_T_101 = io_in_bits_0_bits_op == 7'h56; // @[VAlu.scala 123:16]
+  wire  _supported_T_101 = io_in_bits_0_bits_op == 7'h3a; // @[VAlu.scala 123:16]
   wire  _supported_T_102 = _supported_T_100 | _supported_T_101; // @[VAlu.scala 121:30]
-  wire  _supported_T_103 = io_in_bits_0_bits_op == 7'h59; // @[VAlu.scala 124:16]
+  wire  _supported_T_103 = io_in_bits_0_bits_op == 7'h3d; // @[VAlu.scala 124:16]
   wire  _supported_T_104 = _supported_T_102 | _supported_T_103; // @[VAlu.scala 123:33]
-  wire  _supported_T_105 = io_in_bits_0_bits_op == 7'h58; // @[VAlu.scala 125:16]
+  wire  _supported_T_105 = io_in_bits_0_bits_op == 7'h3c; // @[VAlu.scala 125:16]
   wire  _supported_T_106 = _supported_T_104 | _supported_T_105; // @[VAlu.scala 124:33]
-  wire  _supported_T_107 = io_in_bits_0_bits_op == 7'h5b; // @[VAlu.scala 126:16]
+  wire  _supported_T_107 = io_in_bits_0_bits_op == 7'h3f; // @[VAlu.scala 126:16]
   wire  _supported_T_108 = _supported_T_106 | _supported_T_107; // @[VAlu.scala 125:34]
-  wire  _supported_T_109 = io_in_bits_0_bits_op == 7'h5c; // @[VAlu.scala 127:16]
+  wire  _supported_T_109 = io_in_bits_0_bits_op == 7'h40; // @[VAlu.scala 127:16]
   wire  _supported_T_110 = _supported_T_108 | _supported_T_109; // @[VAlu.scala 126:34]
-  wire  _supported_T_111 = io_in_bits_0_bits_op == 7'h5d; // @[VAlu.scala 128:16]
+  wire  _supported_T_111 = io_in_bits_0_bits_op == 7'h41; // @[VAlu.scala 128:16]
   wire  _supported_T_112 = _supported_T_110 | _supported_T_111; // @[VAlu.scala 127:29]
-  wire  _supported_T_113 = io_in_bits_0_bits_op == 7'h5e; // @[VAlu.scala 129:16]
+  wire  _supported_T_113 = io_in_bits_0_bits_op == 7'h42; // @[VAlu.scala 129:16]
   wire  _supported_T_114 = _supported_T_112 | _supported_T_113; // @[VAlu.scala 128:29]
-  wire  _supported_T_115 = io_in_bits_0_bits_op == 7'h5f; // @[VAlu.scala 130:16]
+  wire  _supported_T_115 = io_in_bits_0_bits_op == 7'h43; // @[VAlu.scala 130:16]
   wire  _supported_T_116 = _supported_T_114 | _supported_T_115; // @[VAlu.scala 129:29]
-  wire  _supported_T_117 = io_in_bits_0_bits_op == 7'h60; // @[VAlu.scala 131:16]
+  wire  _supported_T_117 = io_in_bits_0_bits_op == 7'h44; // @[VAlu.scala 131:16]
   wire  _supported_T_118 = _supported_T_116 | _supported_T_117; // @[VAlu.scala 130:32]
-  wire  _supported_T_119 = io_in_bits_0_bits_op == 7'h63; // @[VAlu.scala 133:16]
+  wire  _supported_T_119 = io_in_bits_0_bits_op == 7'h46; // @[VAlu.scala 133:16]
   wire  _supported_T_120 = _supported_T_118 | _supported_T_119; // @[VAlu.scala 131:29]
-  wire  _supported_T_121 = io_in_bits_0_bits_op == 7'h64; // @[VAlu.scala 134:16]
+  wire  _supported_T_121 = io_in_bits_0_bits_op == 7'h47; // @[VAlu.scala 134:16]
   wire  supported = _supported_T_120 | _supported_T_121; // @[VAlu.scala 133:32]
   wire  _T_1 = ~supported; // @[VAlu.scala 136:15]
   wire  _T_3 = ~reset; // @[VAlu.scala 137:17]
   wire  _T_14 = _supported_T_119 | _supported_T_121; // @[VAlu.scala 143:34]
   wire [1:0] sparse = io_in_bits_0_bits_sv_data[3:2]; // @[VAlu.scala 144:50]
-  wire  _supported_T_123 = io_in_bits_1_bits_op == 7'h37; // @[VAlu.scala 68:16]
+  wire  _supported_T_123 = io_in_bits_1_bits_op == 7'h35; // @[VAlu.scala 68:16]
   wire  _supported_T_124 = io_in_bits_1_bits_op == 7'hf | _supported_T_123; // @[VAlu.scala 67:30]
   wire  _supported_T_125 = io_in_bits_1_bits_op == 7'h6; // @[VAlu.scala 69:16]
   wire  _supported_T_126 = _supported_T_124 | _supported_T_125; // @[VAlu.scala 68:29]
-  wire  _supported_T_127 = io_in_bits_1_bits_op == 7'h33; // @[VAlu.scala 70:16]
+  wire  _supported_T_127 = io_in_bits_1_bits_op == 7'h31; // @[VAlu.scala 70:16]
   wire  _supported_T_128 = _supported_T_126 | _supported_T_127; // @[VAlu.scala 69:29]
-  wire  _supported_T_129 = io_in_bits_1_bits_op == 7'h35; // @[VAlu.scala 71:16]
+  wire  _supported_T_129 = io_in_bits_1_bits_op == 7'h33; // @[VAlu.scala 71:16]
   wire  _supported_T_130 = _supported_T_128 | _supported_T_129; // @[VAlu.scala 70:30]
   wire  _supported_T_131 = io_in_bits_1_bits_op == 7'h12; // @[VAlu.scala 72:16]
   wire  _supported_T_132 = _supported_T_130 | _supported_T_131; // @[VAlu.scala 71:30]
   wire  _supported_T_133 = io_in_bits_1_bits_op == 7'h1; // @[VAlu.scala 73:16]
   wire  _supported_T_134 = _supported_T_132 | _supported_T_133; // @[VAlu.scala 72:30]
-  wire  _supported_T_135 = io_in_bits_1_bits_op == 7'h3a; // @[VAlu.scala 74:16]
+  wire  _supported_T_135 = io_in_bits_1_bits_op == 7'h38; // @[VAlu.scala 74:16]
   wire  _supported_T_136 = _supported_T_134 | _supported_T_135; // @[VAlu.scala 73:29]
-  wire  _supported_T_137 = io_in_bits_1_bits_op == 7'h3b; // @[VAlu.scala 75:16]
+  wire  _supported_T_137 = io_in_bits_1_bits_op == 7'h39; // @[VAlu.scala 75:16]
   wire  _supported_T_138 = _supported_T_136 | _supported_T_137; // @[VAlu.scala 74:30]
   wire  _supported_T_139 = io_in_bits_1_bits_op == 7'h10; // @[VAlu.scala 76:16]
   wire  _supported_T_140 = _supported_T_138 | _supported_T_139; // @[VAlu.scala 75:30]
   wire  _supported_T_141 = io_in_bits_1_bits_op == 7'h11; // @[VAlu.scala 77:16]
   wire  _supported_T_142 = _supported_T_140 | _supported_T_141; // @[VAlu.scala 76:29]
-  wire  _supported_T_143 = io_in_bits_1_bits_op == 7'h38; // @[VAlu.scala 78:16]
+  wire  _supported_T_143 = io_in_bits_1_bits_op == 7'h36; // @[VAlu.scala 78:16]
   wire  _supported_T_144 = _supported_T_142 | _supported_T_143; // @[VAlu.scala 77:29]
-  wire  _supported_T_145 = io_in_bits_1_bits_op == 7'h39; // @[VAlu.scala 79:16]
+  wire  _supported_T_145 = io_in_bits_1_bits_op == 7'h37; // @[VAlu.scala 79:16]
   wire  _supported_T_146 = _supported_T_144 | _supported_T_145; // @[VAlu.scala 78:30]
   wire  _supported_T_147 = io_in_bits_1_bits_op == 7'h8; // @[VAlu.scala 80:16]
   wire  _supported_T_148 = _supported_T_146 | _supported_T_147; // @[VAlu.scala 79:30]
   wire  _supported_T_149 = io_in_bits_1_bits_op == 7'h7; // @[VAlu.scala 81:16]
   wire  _supported_T_150 = _supported_T_148 | _supported_T_149; // @[VAlu.scala 80:30]
-  wire  _supported_T_151 = io_in_bits_1_bits_op == 7'h34; // @[VAlu.scala 82:16]
+  wire  _supported_T_151 = io_in_bits_1_bits_op == 7'h32; // @[VAlu.scala 82:16]
   wire  _supported_T_152 = _supported_T_150 | _supported_T_151; // @[VAlu.scala 81:29]
-  wire  _supported_T_153 = io_in_bits_1_bits_op == 7'h36; // @[VAlu.scala 83:16]
+  wire  _supported_T_153 = io_in_bits_1_bits_op == 7'h34; // @[VAlu.scala 83:16]
   wire  _supported_T_154 = _supported_T_152 | _supported_T_153; // @[VAlu.scala 82:30]
   wire  _supported_T_155 = io_in_bits_1_bits_op == 7'h9; // @[VAlu.scala 85:16]
   wire  _supported_T_156 = _supported_T_154 | _supported_T_155; // @[VAlu.scala 83:30]
@@ -73268,62 +72059,62 @@
   wire  _supported_T_220 = _supported_T_218 | _supported_T_219; // @[VAlu.scala 119:30]
   wire  _supported_T_221 = io_in_bits_1_bits_op == 7'h2f; // @[VAlu.scala 121:16]
   wire  _supported_T_222 = _supported_T_220 | _supported_T_221; // @[VAlu.scala 120:31]
-  wire  _supported_T_223 = io_in_bits_1_bits_op == 7'h56; // @[VAlu.scala 123:16]
+  wire  _supported_T_223 = io_in_bits_1_bits_op == 7'h3a; // @[VAlu.scala 123:16]
   wire  _supported_T_224 = _supported_T_222 | _supported_T_223; // @[VAlu.scala 121:30]
-  wire  _supported_T_225 = io_in_bits_1_bits_op == 7'h59; // @[VAlu.scala 124:16]
+  wire  _supported_T_225 = io_in_bits_1_bits_op == 7'h3d; // @[VAlu.scala 124:16]
   wire  _supported_T_226 = _supported_T_224 | _supported_T_225; // @[VAlu.scala 123:33]
-  wire  _supported_T_227 = io_in_bits_1_bits_op == 7'h58; // @[VAlu.scala 125:16]
+  wire  _supported_T_227 = io_in_bits_1_bits_op == 7'h3c; // @[VAlu.scala 125:16]
   wire  _supported_T_228 = _supported_T_226 | _supported_T_227; // @[VAlu.scala 124:33]
-  wire  _supported_T_229 = io_in_bits_1_bits_op == 7'h5b; // @[VAlu.scala 126:16]
+  wire  _supported_T_229 = io_in_bits_1_bits_op == 7'h3f; // @[VAlu.scala 126:16]
   wire  _supported_T_230 = _supported_T_228 | _supported_T_229; // @[VAlu.scala 125:34]
-  wire  _supported_T_231 = io_in_bits_1_bits_op == 7'h5c; // @[VAlu.scala 127:16]
+  wire  _supported_T_231 = io_in_bits_1_bits_op == 7'h40; // @[VAlu.scala 127:16]
   wire  _supported_T_232 = _supported_T_230 | _supported_T_231; // @[VAlu.scala 126:34]
-  wire  _supported_T_233 = io_in_bits_1_bits_op == 7'h5d; // @[VAlu.scala 128:16]
+  wire  _supported_T_233 = io_in_bits_1_bits_op == 7'h41; // @[VAlu.scala 128:16]
   wire  _supported_T_234 = _supported_T_232 | _supported_T_233; // @[VAlu.scala 127:29]
-  wire  _supported_T_235 = io_in_bits_1_bits_op == 7'h5e; // @[VAlu.scala 129:16]
+  wire  _supported_T_235 = io_in_bits_1_bits_op == 7'h42; // @[VAlu.scala 129:16]
   wire  _supported_T_236 = _supported_T_234 | _supported_T_235; // @[VAlu.scala 128:29]
-  wire  _supported_T_237 = io_in_bits_1_bits_op == 7'h5f; // @[VAlu.scala 130:16]
+  wire  _supported_T_237 = io_in_bits_1_bits_op == 7'h43; // @[VAlu.scala 130:16]
   wire  _supported_T_238 = _supported_T_236 | _supported_T_237; // @[VAlu.scala 129:29]
-  wire  _supported_T_239 = io_in_bits_1_bits_op == 7'h60; // @[VAlu.scala 131:16]
+  wire  _supported_T_239 = io_in_bits_1_bits_op == 7'h44; // @[VAlu.scala 131:16]
   wire  _supported_T_240 = _supported_T_238 | _supported_T_239; // @[VAlu.scala 130:32]
-  wire  _supported_T_241 = io_in_bits_1_bits_op == 7'h63; // @[VAlu.scala 133:16]
+  wire  _supported_T_241 = io_in_bits_1_bits_op == 7'h46; // @[VAlu.scala 133:16]
   wire  _supported_T_242 = _supported_T_240 | _supported_T_241; // @[VAlu.scala 131:29]
-  wire  _supported_T_243 = io_in_bits_1_bits_op == 7'h64; // @[VAlu.scala 134:16]
+  wire  _supported_T_243 = io_in_bits_1_bits_op == 7'h47; // @[VAlu.scala 134:16]
   wire  supported_1 = _supported_T_242 | _supported_T_243; // @[VAlu.scala 133:32]
   wire  _T_32 = ~supported_1; // @[VAlu.scala 136:15]
   wire  _T_45 = _supported_T_241 | _supported_T_243; // @[VAlu.scala 143:34]
   wire [1:0] sparse_1 = io_in_bits_1_bits_sv_data[3:2]; // @[VAlu.scala 144:50]
-  wire  _supported_T_245 = io_in_bits_2_bits_op == 7'h37; // @[VAlu.scala 68:16]
+  wire  _supported_T_245 = io_in_bits_2_bits_op == 7'h35; // @[VAlu.scala 68:16]
   wire  _supported_T_246 = io_in_bits_2_bits_op == 7'hf | _supported_T_245; // @[VAlu.scala 67:30]
   wire  _supported_T_247 = io_in_bits_2_bits_op == 7'h6; // @[VAlu.scala 69:16]
   wire  _supported_T_248 = _supported_T_246 | _supported_T_247; // @[VAlu.scala 68:29]
-  wire  _supported_T_249 = io_in_bits_2_bits_op == 7'h33; // @[VAlu.scala 70:16]
+  wire  _supported_T_249 = io_in_bits_2_bits_op == 7'h31; // @[VAlu.scala 70:16]
   wire  _supported_T_250 = _supported_T_248 | _supported_T_249; // @[VAlu.scala 69:29]
-  wire  _supported_T_251 = io_in_bits_2_bits_op == 7'h35; // @[VAlu.scala 71:16]
+  wire  _supported_T_251 = io_in_bits_2_bits_op == 7'h33; // @[VAlu.scala 71:16]
   wire  _supported_T_252 = _supported_T_250 | _supported_T_251; // @[VAlu.scala 70:30]
   wire  _supported_T_253 = io_in_bits_2_bits_op == 7'h12; // @[VAlu.scala 72:16]
   wire  _supported_T_254 = _supported_T_252 | _supported_T_253; // @[VAlu.scala 71:30]
   wire  _supported_T_255 = io_in_bits_2_bits_op == 7'h1; // @[VAlu.scala 73:16]
   wire  _supported_T_256 = _supported_T_254 | _supported_T_255; // @[VAlu.scala 72:30]
-  wire  _supported_T_257 = io_in_bits_2_bits_op == 7'h3a; // @[VAlu.scala 74:16]
+  wire  _supported_T_257 = io_in_bits_2_bits_op == 7'h38; // @[VAlu.scala 74:16]
   wire  _supported_T_258 = _supported_T_256 | _supported_T_257; // @[VAlu.scala 73:29]
-  wire  _supported_T_259 = io_in_bits_2_bits_op == 7'h3b; // @[VAlu.scala 75:16]
+  wire  _supported_T_259 = io_in_bits_2_bits_op == 7'h39; // @[VAlu.scala 75:16]
   wire  _supported_T_260 = _supported_T_258 | _supported_T_259; // @[VAlu.scala 74:30]
   wire  _supported_T_261 = io_in_bits_2_bits_op == 7'h10; // @[VAlu.scala 76:16]
   wire  _supported_T_262 = _supported_T_260 | _supported_T_261; // @[VAlu.scala 75:30]
   wire  _supported_T_263 = io_in_bits_2_bits_op == 7'h11; // @[VAlu.scala 77:16]
   wire  _supported_T_264 = _supported_T_262 | _supported_T_263; // @[VAlu.scala 76:29]
-  wire  _supported_T_265 = io_in_bits_2_bits_op == 7'h38; // @[VAlu.scala 78:16]
+  wire  _supported_T_265 = io_in_bits_2_bits_op == 7'h36; // @[VAlu.scala 78:16]
   wire  _supported_T_266 = _supported_T_264 | _supported_T_265; // @[VAlu.scala 77:29]
-  wire  _supported_T_267 = io_in_bits_2_bits_op == 7'h39; // @[VAlu.scala 79:16]
+  wire  _supported_T_267 = io_in_bits_2_bits_op == 7'h37; // @[VAlu.scala 79:16]
   wire  _supported_T_268 = _supported_T_266 | _supported_T_267; // @[VAlu.scala 78:30]
   wire  _supported_T_269 = io_in_bits_2_bits_op == 7'h8; // @[VAlu.scala 80:16]
   wire  _supported_T_270 = _supported_T_268 | _supported_T_269; // @[VAlu.scala 79:30]
   wire  _supported_T_271 = io_in_bits_2_bits_op == 7'h7; // @[VAlu.scala 81:16]
   wire  _supported_T_272 = _supported_T_270 | _supported_T_271; // @[VAlu.scala 80:30]
-  wire  _supported_T_273 = io_in_bits_2_bits_op == 7'h34; // @[VAlu.scala 82:16]
+  wire  _supported_T_273 = io_in_bits_2_bits_op == 7'h32; // @[VAlu.scala 82:16]
   wire  _supported_T_274 = _supported_T_272 | _supported_T_273; // @[VAlu.scala 81:29]
-  wire  _supported_T_275 = io_in_bits_2_bits_op == 7'h36; // @[VAlu.scala 83:16]
+  wire  _supported_T_275 = io_in_bits_2_bits_op == 7'h34; // @[VAlu.scala 83:16]
   wire  _supported_T_276 = _supported_T_274 | _supported_T_275; // @[VAlu.scala 82:30]
   wire  _supported_T_277 = io_in_bits_2_bits_op == 7'h9; // @[VAlu.scala 85:16]
   wire  _supported_T_278 = _supported_T_276 | _supported_T_277; // @[VAlu.scala 83:30]
@@ -73393,62 +72184,62 @@
   wire  _supported_T_342 = _supported_T_340 | _supported_T_341; // @[VAlu.scala 119:30]
   wire  _supported_T_343 = io_in_bits_2_bits_op == 7'h2f; // @[VAlu.scala 121:16]
   wire  _supported_T_344 = _supported_T_342 | _supported_T_343; // @[VAlu.scala 120:31]
-  wire  _supported_T_345 = io_in_bits_2_bits_op == 7'h56; // @[VAlu.scala 123:16]
+  wire  _supported_T_345 = io_in_bits_2_bits_op == 7'h3a; // @[VAlu.scala 123:16]
   wire  _supported_T_346 = _supported_T_344 | _supported_T_345; // @[VAlu.scala 121:30]
-  wire  _supported_T_347 = io_in_bits_2_bits_op == 7'h59; // @[VAlu.scala 124:16]
+  wire  _supported_T_347 = io_in_bits_2_bits_op == 7'h3d; // @[VAlu.scala 124:16]
   wire  _supported_T_348 = _supported_T_346 | _supported_T_347; // @[VAlu.scala 123:33]
-  wire  _supported_T_349 = io_in_bits_2_bits_op == 7'h58; // @[VAlu.scala 125:16]
+  wire  _supported_T_349 = io_in_bits_2_bits_op == 7'h3c; // @[VAlu.scala 125:16]
   wire  _supported_T_350 = _supported_T_348 | _supported_T_349; // @[VAlu.scala 124:33]
-  wire  _supported_T_351 = io_in_bits_2_bits_op == 7'h5b; // @[VAlu.scala 126:16]
+  wire  _supported_T_351 = io_in_bits_2_bits_op == 7'h3f; // @[VAlu.scala 126:16]
   wire  _supported_T_352 = _supported_T_350 | _supported_T_351; // @[VAlu.scala 125:34]
-  wire  _supported_T_353 = io_in_bits_2_bits_op == 7'h5c; // @[VAlu.scala 127:16]
+  wire  _supported_T_353 = io_in_bits_2_bits_op == 7'h40; // @[VAlu.scala 127:16]
   wire  _supported_T_354 = _supported_T_352 | _supported_T_353; // @[VAlu.scala 126:34]
-  wire  _supported_T_355 = io_in_bits_2_bits_op == 7'h5d; // @[VAlu.scala 128:16]
+  wire  _supported_T_355 = io_in_bits_2_bits_op == 7'h41; // @[VAlu.scala 128:16]
   wire  _supported_T_356 = _supported_T_354 | _supported_T_355; // @[VAlu.scala 127:29]
-  wire  _supported_T_357 = io_in_bits_2_bits_op == 7'h5e; // @[VAlu.scala 129:16]
+  wire  _supported_T_357 = io_in_bits_2_bits_op == 7'h42; // @[VAlu.scala 129:16]
   wire  _supported_T_358 = _supported_T_356 | _supported_T_357; // @[VAlu.scala 128:29]
-  wire  _supported_T_359 = io_in_bits_2_bits_op == 7'h5f; // @[VAlu.scala 130:16]
+  wire  _supported_T_359 = io_in_bits_2_bits_op == 7'h43; // @[VAlu.scala 130:16]
   wire  _supported_T_360 = _supported_T_358 | _supported_T_359; // @[VAlu.scala 129:29]
-  wire  _supported_T_361 = io_in_bits_2_bits_op == 7'h60; // @[VAlu.scala 131:16]
+  wire  _supported_T_361 = io_in_bits_2_bits_op == 7'h44; // @[VAlu.scala 131:16]
   wire  _supported_T_362 = _supported_T_360 | _supported_T_361; // @[VAlu.scala 130:32]
-  wire  _supported_T_363 = io_in_bits_2_bits_op == 7'h63; // @[VAlu.scala 133:16]
+  wire  _supported_T_363 = io_in_bits_2_bits_op == 7'h46; // @[VAlu.scala 133:16]
   wire  _supported_T_364 = _supported_T_362 | _supported_T_363; // @[VAlu.scala 131:29]
-  wire  _supported_T_365 = io_in_bits_2_bits_op == 7'h64; // @[VAlu.scala 134:16]
+  wire  _supported_T_365 = io_in_bits_2_bits_op == 7'h47; // @[VAlu.scala 134:16]
   wire  supported_2 = _supported_T_364 | _supported_T_365; // @[VAlu.scala 133:32]
   wire  _T_63 = ~supported_2; // @[VAlu.scala 136:15]
   wire  _T_76 = _supported_T_363 | _supported_T_365; // @[VAlu.scala 143:34]
   wire [1:0] sparse_2 = io_in_bits_2_bits_sv_data[3:2]; // @[VAlu.scala 144:50]
-  wire  _supported_T_367 = io_in_bits_3_bits_op == 7'h37; // @[VAlu.scala 68:16]
+  wire  _supported_T_367 = io_in_bits_3_bits_op == 7'h35; // @[VAlu.scala 68:16]
   wire  _supported_T_368 = io_in_bits_3_bits_op == 7'hf | _supported_T_367; // @[VAlu.scala 67:30]
   wire  _supported_T_369 = io_in_bits_3_bits_op == 7'h6; // @[VAlu.scala 69:16]
   wire  _supported_T_370 = _supported_T_368 | _supported_T_369; // @[VAlu.scala 68:29]
-  wire  _supported_T_371 = io_in_bits_3_bits_op == 7'h33; // @[VAlu.scala 70:16]
+  wire  _supported_T_371 = io_in_bits_3_bits_op == 7'h31; // @[VAlu.scala 70:16]
   wire  _supported_T_372 = _supported_T_370 | _supported_T_371; // @[VAlu.scala 69:29]
-  wire  _supported_T_373 = io_in_bits_3_bits_op == 7'h35; // @[VAlu.scala 71:16]
+  wire  _supported_T_373 = io_in_bits_3_bits_op == 7'h33; // @[VAlu.scala 71:16]
   wire  _supported_T_374 = _supported_T_372 | _supported_T_373; // @[VAlu.scala 70:30]
   wire  _supported_T_375 = io_in_bits_3_bits_op == 7'h12; // @[VAlu.scala 72:16]
   wire  _supported_T_376 = _supported_T_374 | _supported_T_375; // @[VAlu.scala 71:30]
   wire  _supported_T_377 = io_in_bits_3_bits_op == 7'h1; // @[VAlu.scala 73:16]
   wire  _supported_T_378 = _supported_T_376 | _supported_T_377; // @[VAlu.scala 72:30]
-  wire  _supported_T_379 = io_in_bits_3_bits_op == 7'h3a; // @[VAlu.scala 74:16]
+  wire  _supported_T_379 = io_in_bits_3_bits_op == 7'h38; // @[VAlu.scala 74:16]
   wire  _supported_T_380 = _supported_T_378 | _supported_T_379; // @[VAlu.scala 73:29]
-  wire  _supported_T_381 = io_in_bits_3_bits_op == 7'h3b; // @[VAlu.scala 75:16]
+  wire  _supported_T_381 = io_in_bits_3_bits_op == 7'h39; // @[VAlu.scala 75:16]
   wire  _supported_T_382 = _supported_T_380 | _supported_T_381; // @[VAlu.scala 74:30]
   wire  _supported_T_383 = io_in_bits_3_bits_op == 7'h10; // @[VAlu.scala 76:16]
   wire  _supported_T_384 = _supported_T_382 | _supported_T_383; // @[VAlu.scala 75:30]
   wire  _supported_T_385 = io_in_bits_3_bits_op == 7'h11; // @[VAlu.scala 77:16]
   wire  _supported_T_386 = _supported_T_384 | _supported_T_385; // @[VAlu.scala 76:29]
-  wire  _supported_T_387 = io_in_bits_3_bits_op == 7'h38; // @[VAlu.scala 78:16]
+  wire  _supported_T_387 = io_in_bits_3_bits_op == 7'h36; // @[VAlu.scala 78:16]
   wire  _supported_T_388 = _supported_T_386 | _supported_T_387; // @[VAlu.scala 77:29]
-  wire  _supported_T_389 = io_in_bits_3_bits_op == 7'h39; // @[VAlu.scala 79:16]
+  wire  _supported_T_389 = io_in_bits_3_bits_op == 7'h37; // @[VAlu.scala 79:16]
   wire  _supported_T_390 = _supported_T_388 | _supported_T_389; // @[VAlu.scala 78:30]
   wire  _supported_T_391 = io_in_bits_3_bits_op == 7'h8; // @[VAlu.scala 80:16]
   wire  _supported_T_392 = _supported_T_390 | _supported_T_391; // @[VAlu.scala 79:30]
   wire  _supported_T_393 = io_in_bits_3_bits_op == 7'h7; // @[VAlu.scala 81:16]
   wire  _supported_T_394 = _supported_T_392 | _supported_T_393; // @[VAlu.scala 80:30]
-  wire  _supported_T_395 = io_in_bits_3_bits_op == 7'h34; // @[VAlu.scala 82:16]
+  wire  _supported_T_395 = io_in_bits_3_bits_op == 7'h32; // @[VAlu.scala 82:16]
   wire  _supported_T_396 = _supported_T_394 | _supported_T_395; // @[VAlu.scala 81:29]
-  wire  _supported_T_397 = io_in_bits_3_bits_op == 7'h36; // @[VAlu.scala 83:16]
+  wire  _supported_T_397 = io_in_bits_3_bits_op == 7'h34; // @[VAlu.scala 83:16]
   wire  _supported_T_398 = _supported_T_396 | _supported_T_397; // @[VAlu.scala 82:30]
   wire  _supported_T_399 = io_in_bits_3_bits_op == 7'h9; // @[VAlu.scala 85:16]
   wire  _supported_T_400 = _supported_T_398 | _supported_T_399; // @[VAlu.scala 83:30]
@@ -73518,27 +72309,27 @@
   wire  _supported_T_464 = _supported_T_462 | _supported_T_463; // @[VAlu.scala 119:30]
   wire  _supported_T_465 = io_in_bits_3_bits_op == 7'h2f; // @[VAlu.scala 121:16]
   wire  _supported_T_466 = _supported_T_464 | _supported_T_465; // @[VAlu.scala 120:31]
-  wire  _supported_T_467 = io_in_bits_3_bits_op == 7'h56; // @[VAlu.scala 123:16]
+  wire  _supported_T_467 = io_in_bits_3_bits_op == 7'h3a; // @[VAlu.scala 123:16]
   wire  _supported_T_468 = _supported_T_466 | _supported_T_467; // @[VAlu.scala 121:30]
-  wire  _supported_T_469 = io_in_bits_3_bits_op == 7'h59; // @[VAlu.scala 124:16]
+  wire  _supported_T_469 = io_in_bits_3_bits_op == 7'h3d; // @[VAlu.scala 124:16]
   wire  _supported_T_470 = _supported_T_468 | _supported_T_469; // @[VAlu.scala 123:33]
-  wire  _supported_T_471 = io_in_bits_3_bits_op == 7'h58; // @[VAlu.scala 125:16]
+  wire  _supported_T_471 = io_in_bits_3_bits_op == 7'h3c; // @[VAlu.scala 125:16]
   wire  _supported_T_472 = _supported_T_470 | _supported_T_471; // @[VAlu.scala 124:33]
-  wire  _supported_T_473 = io_in_bits_3_bits_op == 7'h5b; // @[VAlu.scala 126:16]
+  wire  _supported_T_473 = io_in_bits_3_bits_op == 7'h3f; // @[VAlu.scala 126:16]
   wire  _supported_T_474 = _supported_T_472 | _supported_T_473; // @[VAlu.scala 125:34]
-  wire  _supported_T_475 = io_in_bits_3_bits_op == 7'h5c; // @[VAlu.scala 127:16]
+  wire  _supported_T_475 = io_in_bits_3_bits_op == 7'h40; // @[VAlu.scala 127:16]
   wire  _supported_T_476 = _supported_T_474 | _supported_T_475; // @[VAlu.scala 126:34]
-  wire  _supported_T_477 = io_in_bits_3_bits_op == 7'h5d; // @[VAlu.scala 128:16]
+  wire  _supported_T_477 = io_in_bits_3_bits_op == 7'h41; // @[VAlu.scala 128:16]
   wire  _supported_T_478 = _supported_T_476 | _supported_T_477; // @[VAlu.scala 127:29]
-  wire  _supported_T_479 = io_in_bits_3_bits_op == 7'h5e; // @[VAlu.scala 129:16]
+  wire  _supported_T_479 = io_in_bits_3_bits_op == 7'h42; // @[VAlu.scala 129:16]
   wire  _supported_T_480 = _supported_T_478 | _supported_T_479; // @[VAlu.scala 128:29]
-  wire  _supported_T_481 = io_in_bits_3_bits_op == 7'h5f; // @[VAlu.scala 130:16]
+  wire  _supported_T_481 = io_in_bits_3_bits_op == 7'h43; // @[VAlu.scala 130:16]
   wire  _supported_T_482 = _supported_T_480 | _supported_T_481; // @[VAlu.scala 129:29]
-  wire  _supported_T_483 = io_in_bits_3_bits_op == 7'h60; // @[VAlu.scala 131:16]
+  wire  _supported_T_483 = io_in_bits_3_bits_op == 7'h44; // @[VAlu.scala 131:16]
   wire  _supported_T_484 = _supported_T_482 | _supported_T_483; // @[VAlu.scala 130:32]
-  wire  _supported_T_485 = io_in_bits_3_bits_op == 7'h63; // @[VAlu.scala 133:16]
+  wire  _supported_T_485 = io_in_bits_3_bits_op == 7'h46; // @[VAlu.scala 133:16]
   wire  _supported_T_486 = _supported_T_484 | _supported_T_485; // @[VAlu.scala 131:29]
-  wire  _supported_T_487 = io_in_bits_3_bits_op == 7'h64; // @[VAlu.scala 134:16]
+  wire  _supported_T_487 = io_in_bits_3_bits_op == 7'h47; // @[VAlu.scala 134:16]
   wire  supported_3 = _supported_T_486 | _supported_T_487; // @[VAlu.scala 133:32]
   wire  _T_94 = ~supported_3; // @[VAlu.scala 136:15]
   wire  _T_107 = _supported_T_485 | _supported_T_487; // @[VAlu.scala 143:34]
@@ -79252,7 +78043,7 @@
   assign f__reset = reset;
   assign f__io_in_valid = io_in_valid; // @[VCmdq.scala 48:17]
   assign f__io_in_bits_0_valid = io_in_bits_0_valid; // @[VCmdq.scala 52:27]
-  assign f__io_in_bits_0_bits_tin_conv = io_in_bits_0_bits_op == 7'h62; // @[VConvCtrl.scala 55:24]
+  assign f__io_in_bits_0_bits_tin_conv = io_in_bits_0_bits_op == 7'h45; // @[VConvCtrl.scala 55:24]
   assign f__io_in_bits_0_bits_tin_init = io_in_bits_0_bits_op == 7'h1f; // @[VConvCtrl.scala 53:24]
   assign f__io_in_bits_0_bits_tin_tran = io_in_bits_0_bits_op == 7'h20; // @[VConvCtrl.scala 54:24]
   assign f__io_in_bits_0_bits_tin_wclr = io_in_bits_0_bits_op == 7'h5; // @[VConvCtrl.scala 52:24]
@@ -79271,7 +78062,7 @@
   assign f__io_in_bits_0_bits_tin_bsign = io_in_bits_0_bits_sv_data[31]; // @[VConvCtrl.scala 89:22]
   assign f__io_in_bits_0_bits_m = io_in_bits_0_bits_m; // @[VCmdq.scala 54:28]
   assign f__io_in_bits_1_valid = io_in_bits_1_valid; // @[VCmdq.scala 52:27]
-  assign f__io_in_bits_1_bits_tin_conv = io_in_bits_1_bits_op == 7'h62; // @[VConvCtrl.scala 55:24]
+  assign f__io_in_bits_1_bits_tin_conv = io_in_bits_1_bits_op == 7'h45; // @[VConvCtrl.scala 55:24]
   assign f__io_in_bits_1_bits_tin_init = io_in_bits_1_bits_op == 7'h1f; // @[VConvCtrl.scala 53:24]
   assign f__io_in_bits_1_bits_tin_tran = io_in_bits_1_bits_op == 7'h20; // @[VConvCtrl.scala 54:24]
   assign f__io_in_bits_1_bits_tin_wclr = io_in_bits_1_bits_op == 7'h5; // @[VConvCtrl.scala 52:24]
@@ -79290,7 +78081,7 @@
   assign f__io_in_bits_1_bits_tin_bsign = io_in_bits_1_bits_sv_data[31]; // @[VConvCtrl.scala 89:22]
   assign f__io_in_bits_1_bits_m = io_in_bits_1_bits_m; // @[VCmdq.scala 54:28]
   assign f__io_in_bits_2_valid = io_in_bits_2_valid; // @[VCmdq.scala 52:27]
-  assign f__io_in_bits_2_bits_tin_conv = io_in_bits_2_bits_op == 7'h62; // @[VConvCtrl.scala 55:24]
+  assign f__io_in_bits_2_bits_tin_conv = io_in_bits_2_bits_op == 7'h45; // @[VConvCtrl.scala 55:24]
   assign f__io_in_bits_2_bits_tin_init = io_in_bits_2_bits_op == 7'h1f; // @[VConvCtrl.scala 53:24]
   assign f__io_in_bits_2_bits_tin_tran = io_in_bits_2_bits_op == 7'h20; // @[VConvCtrl.scala 54:24]
   assign f__io_in_bits_2_bits_tin_wclr = io_in_bits_2_bits_op == 7'h5; // @[VConvCtrl.scala 52:24]
@@ -79309,7 +78100,7 @@
   assign f__io_in_bits_2_bits_tin_bsign = io_in_bits_2_bits_sv_data[31]; // @[VConvCtrl.scala 89:22]
   assign f__io_in_bits_2_bits_m = io_in_bits_2_bits_m; // @[VCmdq.scala 54:28]
   assign f__io_in_bits_3_valid = io_in_bits_3_valid; // @[VCmdq.scala 52:27]
-  assign f__io_in_bits_3_bits_tin_conv = io_in_bits_3_bits_op == 7'h62; // @[VConvCtrl.scala 55:24]
+  assign f__io_in_bits_3_bits_tin_conv = io_in_bits_3_bits_op == 7'h45; // @[VConvCtrl.scala 55:24]
   assign f__io_in_bits_3_bits_tin_init = io_in_bits_3_bits_op == 7'h1f; // @[VConvCtrl.scala 53:24]
   assign f__io_in_bits_3_bits_tin_tran = io_in_bits_3_bits_op == 7'h20; // @[VConvCtrl.scala 54:24]
   assign f__io_in_bits_3_bits_tin_wclr = io_in_bits_3_bits_op == 7'h5; // @[VConvCtrl.scala 52:24]
@@ -121249,22 +120040,22 @@
   output         io_score_vinst_0_ready,
   input  [4:0]   io_score_vinst_0_addr,
   input  [31:0]  io_score_vinst_0_inst,
-  input  [5:0]   io_score_vinst_0_op,
+  input  [4:0]   io_score_vinst_0_op,
   input          io_score_vinst_1_valid,
   output         io_score_vinst_1_ready,
   input  [4:0]   io_score_vinst_1_addr,
   input  [31:0]  io_score_vinst_1_inst,
-  input  [5:0]   io_score_vinst_1_op,
+  input  [4:0]   io_score_vinst_1_op,
   input          io_score_vinst_2_valid,
   output         io_score_vinst_2_ready,
   input  [4:0]   io_score_vinst_2_addr,
   input  [31:0]  io_score_vinst_2_inst,
-  input  [5:0]   io_score_vinst_2_op,
+  input  [4:0]   io_score_vinst_2_op,
   input          io_score_vinst_3_valid,
   output         io_score_vinst_3_ready,
   input  [4:0]   io_score_vinst_3_addr,
   input  [31:0]  io_score_vinst_3_inst,
-  input  [5:0]   io_score_vinst_3_op,
+  input  [4:0]   io_score_vinst_3_op,
   input  [31:0]  io_score_rs_0_data,
   input  [31:0]  io_score_rs_1_data,
   input  [31:0]  io_score_rs_2_data,
@@ -121285,10 +120076,6 @@
   output         io_score_rd_3_valid,
   output [4:0]   io_score_rd_3_addr,
   output [31:0]  io_score_rd_3_data,
-  input  [31:0]  io_score_fs_0_data,
-  input  [31:0]  io_score_fs_1_data,
-  input  [31:0]  io_score_fs_2_data,
-  input  [31:0]  io_score_fs_3_data,
   output         io_score_mactive,
   output         io_score_undef,
   output         io_dbus_valid,
@@ -121324,22 +120111,22 @@
   wire  vinst_io_in_0_ready; // @[VInst.scala 9:18]
   wire [4:0] vinst_io_in_0_addr; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_in_0_inst; // @[VInst.scala 9:18]
-  wire [5:0] vinst_io_in_0_op; // @[VInst.scala 9:18]
+  wire [4:0] vinst_io_in_0_op; // @[VInst.scala 9:18]
   wire  vinst_io_in_1_valid; // @[VInst.scala 9:18]
   wire  vinst_io_in_1_ready; // @[VInst.scala 9:18]
   wire [4:0] vinst_io_in_1_addr; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_in_1_inst; // @[VInst.scala 9:18]
-  wire [5:0] vinst_io_in_1_op; // @[VInst.scala 9:18]
+  wire [4:0] vinst_io_in_1_op; // @[VInst.scala 9:18]
   wire  vinst_io_in_2_valid; // @[VInst.scala 9:18]
   wire  vinst_io_in_2_ready; // @[VInst.scala 9:18]
   wire [4:0] vinst_io_in_2_addr; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_in_2_inst; // @[VInst.scala 9:18]
-  wire [5:0] vinst_io_in_2_op; // @[VInst.scala 9:18]
+  wire [4:0] vinst_io_in_2_op; // @[VInst.scala 9:18]
   wire  vinst_io_in_3_valid; // @[VInst.scala 9:18]
   wire  vinst_io_in_3_ready; // @[VInst.scala 9:18]
   wire [4:0] vinst_io_in_3_addr; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_in_3_inst; // @[VInst.scala 9:18]
-  wire [5:0] vinst_io_in_3_op; // @[VInst.scala 9:18]
+  wire [4:0] vinst_io_in_3_op; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_rs_0_data; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_rs_1_data; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_rs_2_data; // @[VInst.scala 9:18]
@@ -121360,10 +120147,6 @@
   wire  vinst_io_rd_3_valid; // @[VInst.scala 9:18]
   wire [4:0] vinst_io_rd_3_addr; // @[VInst.scala 9:18]
   wire [31:0] vinst_io_rd_3_data; // @[VInst.scala 9:18]
-  wire [31:0] vinst_io_fs_0_data; // @[VInst.scala 9:18]
-  wire [31:0] vinst_io_fs_1_data; // @[VInst.scala 9:18]
-  wire [31:0] vinst_io_fs_2_data; // @[VInst.scala 9:18]
-  wire [31:0] vinst_io_fs_3_data; // @[VInst.scala 9:18]
   wire  vinst_io_out_valid; // @[VInst.scala 9:18]
   wire  vinst_io_out_ready; // @[VInst.scala 9:18]
   wire  vinst_io_out_stall; // @[VInst.scala 9:18]
@@ -122140,10 +120923,6 @@
     .io_rd_3_valid(vinst_io_rd_3_valid),
     .io_rd_3_addr(vinst_io_rd_3_addr),
     .io_rd_3_data(vinst_io_rd_3_data),
-    .io_fs_0_data(vinst_io_fs_0_data),
-    .io_fs_1_data(vinst_io_fs_1_data),
-    .io_fs_2_data(vinst_io_fs_2_data),
-    .io_fs_3_data(vinst_io_fs_3_data),
     .io_out_valid(vinst_io_out_valid),
     .io_out_ready(vinst_io_out_ready),
     .io_out_stall(vinst_io_out_stall),
@@ -122890,10 +121669,6 @@
   assign vinst_io_rs_5_data = io_score_rs_5_data; // @[VCore.scala 67:15]
   assign vinst_io_rs_6_data = io_score_rs_6_data; // @[VCore.scala 67:15]
   assign vinst_io_rs_7_data = io_score_rs_7_data; // @[VCore.scala 67:15]
-  assign vinst_io_fs_0_data = io_score_fs_0_data; // @[VCore.scala 69:15]
-  assign vinst_io_fs_1_data = io_score_fs_1_data; // @[VCore.scala 69:15]
-  assign vinst_io_fs_2_data = io_score_fs_2_data; // @[VCore.scala 69:15]
-  assign vinst_io_fs_3_data = io_score_fs_3_data; // @[VCore.scala 69:15]
   assign vinst_io_out_ready = vdec_io_in_ready; // @[VCore.scala 81:22]
   assign vinst_io_out_stall = vdec_io_stall; // @[VCore.scala 84:22]
   assign vdec_clock = clock;
@@ -123670,22 +122445,22 @@
   wire  score_io_vcore_vinst_0_ready; // @[SCore.scala 9:18]
   wire [4:0] score_io_vcore_vinst_0_addr; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_vinst_0_inst; // @[SCore.scala 9:18]
-  wire [5:0] score_io_vcore_vinst_0_op; // @[SCore.scala 9:18]
+  wire [4:0] score_io_vcore_vinst_0_op; // @[SCore.scala 9:18]
   wire  score_io_vcore_vinst_1_valid; // @[SCore.scala 9:18]
   wire  score_io_vcore_vinst_1_ready; // @[SCore.scala 9:18]
   wire [4:0] score_io_vcore_vinst_1_addr; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_vinst_1_inst; // @[SCore.scala 9:18]
-  wire [5:0] score_io_vcore_vinst_1_op; // @[SCore.scala 9:18]
+  wire [4:0] score_io_vcore_vinst_1_op; // @[SCore.scala 9:18]
   wire  score_io_vcore_vinst_2_valid; // @[SCore.scala 9:18]
   wire  score_io_vcore_vinst_2_ready; // @[SCore.scala 9:18]
   wire [4:0] score_io_vcore_vinst_2_addr; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_vinst_2_inst; // @[SCore.scala 9:18]
-  wire [5:0] score_io_vcore_vinst_2_op; // @[SCore.scala 9:18]
+  wire [4:0] score_io_vcore_vinst_2_op; // @[SCore.scala 9:18]
   wire  score_io_vcore_vinst_3_valid; // @[SCore.scala 9:18]
   wire  score_io_vcore_vinst_3_ready; // @[SCore.scala 9:18]
   wire [4:0] score_io_vcore_vinst_3_addr; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_vinst_3_inst; // @[SCore.scala 9:18]
-  wire [5:0] score_io_vcore_vinst_3_op; // @[SCore.scala 9:18]
+  wire [4:0] score_io_vcore_vinst_3_op; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_rs_0_data; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_rs_1_data; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_rs_2_data; // @[SCore.scala 9:18]
@@ -123706,10 +122481,6 @@
   wire  score_io_vcore_rd_3_valid; // @[SCore.scala 9:18]
   wire [4:0] score_io_vcore_rd_3_addr; // @[SCore.scala 9:18]
   wire [31:0] score_io_vcore_rd_3_data; // @[SCore.scala 9:18]
-  wire [31:0] score_io_vcore_fs_0_data; // @[SCore.scala 9:18]
-  wire [31:0] score_io_vcore_fs_1_data; // @[SCore.scala 9:18]
-  wire [31:0] score_io_vcore_fs_2_data; // @[SCore.scala 9:18]
-  wire [31:0] score_io_vcore_fs_3_data; // @[SCore.scala 9:18]
   wire  score_io_vcore_mactive; // @[SCore.scala 9:18]
   wire  score_io_vcore_undef; // @[SCore.scala 9:18]
   wire  score_io_iflush_valid; // @[SCore.scala 9:18]
@@ -123725,22 +122496,22 @@
   wire  vcore_io_score_vinst_0_ready; // @[VCore.scala 9:18]
   wire [4:0] vcore_io_score_vinst_0_addr; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_vinst_0_inst; // @[VCore.scala 9:18]
-  wire [5:0] vcore_io_score_vinst_0_op; // @[VCore.scala 9:18]
+  wire [4:0] vcore_io_score_vinst_0_op; // @[VCore.scala 9:18]
   wire  vcore_io_score_vinst_1_valid; // @[VCore.scala 9:18]
   wire  vcore_io_score_vinst_1_ready; // @[VCore.scala 9:18]
   wire [4:0] vcore_io_score_vinst_1_addr; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_vinst_1_inst; // @[VCore.scala 9:18]
-  wire [5:0] vcore_io_score_vinst_1_op; // @[VCore.scala 9:18]
+  wire [4:0] vcore_io_score_vinst_1_op; // @[VCore.scala 9:18]
   wire  vcore_io_score_vinst_2_valid; // @[VCore.scala 9:18]
   wire  vcore_io_score_vinst_2_ready; // @[VCore.scala 9:18]
   wire [4:0] vcore_io_score_vinst_2_addr; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_vinst_2_inst; // @[VCore.scala 9:18]
-  wire [5:0] vcore_io_score_vinst_2_op; // @[VCore.scala 9:18]
+  wire [4:0] vcore_io_score_vinst_2_op; // @[VCore.scala 9:18]
   wire  vcore_io_score_vinst_3_valid; // @[VCore.scala 9:18]
   wire  vcore_io_score_vinst_3_ready; // @[VCore.scala 9:18]
   wire [4:0] vcore_io_score_vinst_3_addr; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_vinst_3_inst; // @[VCore.scala 9:18]
-  wire [5:0] vcore_io_score_vinst_3_op; // @[VCore.scala 9:18]
+  wire [4:0] vcore_io_score_vinst_3_op; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_rs_0_data; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_rs_1_data; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_rs_2_data; // @[VCore.scala 9:18]
@@ -123761,10 +122532,6 @@
   wire  vcore_io_score_rd_3_valid; // @[VCore.scala 9:18]
   wire [4:0] vcore_io_score_rd_3_addr; // @[VCore.scala 9:18]
   wire [31:0] vcore_io_score_rd_3_data; // @[VCore.scala 9:18]
-  wire [31:0] vcore_io_score_fs_0_data; // @[VCore.scala 9:18]
-  wire [31:0] vcore_io_score_fs_1_data; // @[VCore.scala 9:18]
-  wire [31:0] vcore_io_score_fs_2_data; // @[VCore.scala 9:18]
-  wire [31:0] vcore_io_score_fs_3_data; // @[VCore.scala 9:18]
   wire  vcore_io_score_mactive; // @[VCore.scala 9:18]
   wire  vcore_io_score_undef; // @[VCore.scala 9:18]
   wire  vcore_io_dbus_valid; // @[VCore.scala 9:18]
@@ -123910,10 +122677,6 @@
     .io_vcore_rd_3_valid(score_io_vcore_rd_3_valid),
     .io_vcore_rd_3_addr(score_io_vcore_rd_3_addr),
     .io_vcore_rd_3_data(score_io_vcore_rd_3_data),
-    .io_vcore_fs_0_data(score_io_vcore_fs_0_data),
-    .io_vcore_fs_1_data(score_io_vcore_fs_1_data),
-    .io_vcore_fs_2_data(score_io_vcore_fs_2_data),
-    .io_vcore_fs_3_data(score_io_vcore_fs_3_data),
     .io_vcore_mactive(score_io_vcore_mactive),
     .io_vcore_undef(score_io_vcore_undef),
     .io_iflush_valid(score_io_iflush_valid),
@@ -123967,10 +122730,6 @@
     .io_score_rd_3_valid(vcore_io_score_rd_3_valid),
     .io_score_rd_3_addr(vcore_io_score_rd_3_addr),
     .io_score_rd_3_data(vcore_io_score_rd_3_data),
-    .io_score_fs_0_data(vcore_io_score_fs_0_data),
-    .io_score_fs_1_data(vcore_io_score_fs_1_data),
-    .io_score_fs_2_data(vcore_io_score_fs_2_data),
-    .io_score_fs_3_data(vcore_io_score_fs_3_data),
     .io_score_mactive(vcore_io_score_mactive),
     .io_score_undef(vcore_io_score_undef),
     .io_dbus_valid(vcore_io_dbus_valid),
@@ -124141,10 +122900,6 @@
   assign vcore_io_score_rs_5_data = score_io_vcore_rs_5_data; // @[Core.scala 48:18]
   assign vcore_io_score_rs_6_data = score_io_vcore_rs_6_data; // @[Core.scala 48:18]
   assign vcore_io_score_rs_7_data = score_io_vcore_rs_7_data; // @[Core.scala 48:18]
-  assign vcore_io_score_fs_0_data = score_io_vcore_fs_0_data; // @[Core.scala 48:18]
-  assign vcore_io_score_fs_1_data = score_io_vcore_fs_1_data; // @[Core.scala 48:18]
-  assign vcore_io_score_fs_2_data = score_io_vcore_fs_2_data; // @[Core.scala 48:18]
-  assign vcore_io_score_fs_3_data = score_io_vcore_fs_3_data; // @[Core.scala 48:18]
   assign vcore_io_dbus_ready = dbusmux_io_vcore_ready; // @[Core.scala 55:20]
   assign vcore_io_dbus_rdata = dbusmux_io_vcore_rdata; // @[Core.scala 55:20]
   assign vcore_io_ld_addr_ready = io_axi0_read_addr_ready; // @[Core.scala 67:17]