Use 64 bits counters to mitigate wrapping

Change-Id: I5c1f6a936fcd0d5d38c95a9fe6344fd7bf440e91
diff --git a/tools/test/p4src/p4-14/include/port_counters.p4 b/tools/test/p4src/p4-14/include/port_counters.p4
index d3a9785..402ffe9 100644
--- a/tools/test/p4src/p4-14/include/port_counters.p4
+++ b/tools/test/p4src/p4-14/include/port_counters.p4
@@ -5,13 +5,13 @@
 counter ingress_port_counter {
     type : bytes; // bmv2 always counts both bytes and packets
     instance_count : MAX_PORTS;
-    min_width : 32;
+    min_width : 64;
 }
 
 counter egress_port_counter {
     type: bytes;
     instance_count : MAX_PORTS;
-    min_width : 32;
+    min_width : 64;
 }
 
 action count_ingress() {
diff --git a/tools/test/p4src/p4-14/p4c-out/default.p4info b/tools/test/p4src/p4-14/p4c-out/default.p4info
index e07fdf4..86bad51 100644
--- a/tools/test/p4src/p4-14/p4c-out/default.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/default.p4info
@@ -137,7 +137,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -149,7 +149,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
diff --git a/tools/test/p4src/p4-14/p4c-out/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/ecmp.p4info
index 1219cd0..cc556f4 100644
--- a/tools/test/p4src/p4-14/p4c-out/ecmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/ecmp.p4info
@@ -180,7 +180,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -192,7 +192,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json
index c0996d5..ca8c736 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 01:39:28 2017", 
+    "build_date": "Wed Sep 13 12:56:27 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -18366,7 +18366,7 @@
             "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18387,7 +18387,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -18395,7 +18395,7 @@
                     "logical_table_id": 0, 
                     "stage_number": 1, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
@@ -18409,7 +18409,7 @@
             "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18430,7 +18430,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -18438,7 +18438,7 @@
                     "logical_table_id": 1, 
                     "stage_number": 1, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json
index 016a5bb..16f0a0e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "default", 
-    "BuildDate": "Wed Sep 13 01:39:28 2017", 
+    "BuildDate": "Wed Sep 13 12:56:27 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -18653,13 +18653,13 @@
           {
             "stage_number": 1, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -18669,7 +18669,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18679,33 +18679,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18730,7 +18706,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -18738,8 +18714,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "ingress_port_count_table": "indirect"
@@ -18761,13 +18737,13 @@
           {
             "stage_number": 1, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -18777,7 +18753,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18787,33 +18763,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18838,7 +18790,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -18846,8 +18798,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "egress_port_count_table": "indirect"
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info
index 2948723..01dbf61 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info
@@ -137,7 +137,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -149,7 +149,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log
index e6fd32c..8b10fc2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log
index 95afb11..66e0c9e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log
index 4ac479c..0ecaef8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -836,7 +836,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 1. (old value = 0 OR new value = 1).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 8. (old value = 0 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 1. (old value = 0 OR new value = 1).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x1. (old value = 0x0 OR new value = 0x1).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x2. (old value = 0x0 OR new value = 0x2).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=0].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0x8 (old value = 0x0 OR new value = 0x8).
 Configuring rams.match.merge.mau_payload_shifter_enable[table_type=0][result_bus=1].stats_adr_payload_shifter_en to be 1.
@@ -898,7 +898,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 9. (old value = 1 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 152. (old value = 8 OR new value = 144).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 65. (old value = 1 OR new value = 64).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x201. (old value = 0x1 OR new value = 0x200).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x402. (old value = 0x2 OR new value = 0x400).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=3].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0xb8 (old value = 0x8 OR new value = 0xb0).
 --> Stage Gateway Table for condition egress_port_count_table_always_true_condition in stage 1
@@ -998,33 +998,18 @@
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=2].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
@@ -1083,33 +1068,18 @@
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=3].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
@@ -2012,7 +1982,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 1619
+|  Number of configuration field values set in Match-Action Stages: 1599
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log
index 37649c9..e775bf1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -752,7 +752,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f6e27a390>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fed6b8f1390>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -1121,7 +1121,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f6e283750>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fed6b8ef790>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2279,7 +2279,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f724aac50>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fed6b8dfcd0>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2664,7 +2664,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f6e287d10>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fed6b8d9c10>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log
index 84cafe3..c7b5127 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f2f72baed10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fed6fd8fd10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f2f72baed10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fed6fd8fd10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f2f72baed10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fed6fd8fd10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log
index 6214e7f..51c02b2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -751,7 +751,7 @@
     hash_distribution_hash_id = 0
     hash_group_id = 0
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 0/0 for table ingress_port_count_table in stage 1.
 Allocating Hash Bit 0 in hash match group 0 for table ingress_port_count_table in stage 1.
@@ -886,7 +886,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f2f6e287cd0>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7fed6b8d9bd0>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -899,7 +899,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
@@ -1000,7 +1000,7 @@
     hash_distribution_hash_id = 1
     hash_group_id = 1
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 1/0 for table egress_port_count_table in stage 1.
 Allocating Hash Bit 0 in hash match group 1 for table egress_port_count_table in stage 1.
@@ -1135,7 +1135,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f2f6e95a590>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7fed6b054490>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1148,7 +1148,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log
index 8d1b489..b7cddc3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log
index 2280721..bae8413 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log
index cdcb467..8fdbb2e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log
index a07a0b8..22d048b 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
index 7649173..5736aa0 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
@@ -86,7 +86,7 @@
 Placing table: ingress_port_count_table__action__ with 1024 entries
 Placing table: ingress_port_counter with 512 entries
 Table ingress_port_count_table__action__ with 0 entries is directly referenced
-Table ingress_port_counter with 4096 entries is indirectly referenced
+Table ingress_port_counter with 2048 entries is indirectly referenced
 Match Table ingress_port_count_table has a total of 1024 entries in stage 1
   Direct mapped table ingress_port_count_table__action__ has 0 entries
 >> set ingress_port_count_table (5) to placed
@@ -103,7 +103,7 @@
 Placing table: egress_port_count_table__action__ with 1024 entries
 Placing table: egress_port_counter with 512 entries
 Table egress_port_count_table__action__ with 0 entries is directly referenced
-Table egress_port_counter with 4096 entries is indirectly referenced
+Table egress_port_counter with 2048 entries is indirectly referenced
 Match Table egress_port_count_table has a total of 1024 entries in stage 1
   Direct mapped table egress_port_count_table__action__ has 0 entries
 >> set egress_port_count_table (6) to placed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log
index 3f67cd5..58b68e0 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log
index 69d95e6..189f412 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log
index dd299de..523dd66 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
index c949607..3548273 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -549,7 +549,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505266755.52
+>>Event 'pa_init' at time 1505307374.46
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 90
@@ -827,7 +827,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505266755.52
+>>Event 'pa_resv' at time 1505307374.46
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -869,7 +869,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505266755.56
+>>Event 'pa_bridge' at time 1505307374.50
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -922,7 +922,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505266755.56
+>>Event 'pa_phase0' at time 1505307374.51
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -975,7 +975,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505266755.57
+>>Event 'pa_critical' at time 1505307374.51
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2023,8 +2023,8 @@
 |     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505266764.66
-   Took 9.09 seconds
+>>Event 'pa_overlay' at time 1505307383.55
+   Took 9.04 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2288,7 +2288,7 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505266765.17
+>>Event 'pa_meta1' at time 1505307384.06
    Took 0.51 seconds
 
 -----------------------------------------------
@@ -2433,7 +2433,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505266765.24
+>>Event 'pa_pov' at time 1505307384.13
    Took 0.07 seconds
 
 -----------------------------------------------
@@ -2590,7 +2590,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505266765.36
+>>Event 'pa_meta2' at time 1505307384.25
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2733,7 +2733,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv67[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505266765.43
+>>Event 'pa_meta_init' at time 1505307384.32
    Took 0.06 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log
index 450f48c..d949d60 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log
index 2e10b28..90d9904 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -19,19 +19,19 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 10
 Number of reachable states from state <Shim start state> : 11
 parser_state_calculations:[
-	parse_tcp_139841695493520
-	parse_tcp_139841693410384
-	parse_udp_139841693409424
-	parse_ipv4_139841693411216
-	parse_ethernet_139841693019280
-	parse_pkt_in_139841693411408
-	parse_pkt_out_139841693238160
-	default_parser_139841693237968
-	start_139841693412048
-	<Phase 0>_139841684561232
-	<Ingress intrinsic metadata>_139841684560912
-	<POV initialization>_139841684561616
-	<Shim start state>_139841684525136
+	parse_tcp_140657679625808
+	parse_tcp_140657689609296
+	parse_udp_140657689608336
+	parse_ipv4_140657689610128
+	parse_ethernet_140657682266896
+	parse_pkt_in_140657689610320
+	parse_pkt_out_140657679991696
+	default_parser_140657679991504
+	start_140657689610960
+	<Phase 0>_140657689402704
+	<Ingress intrinsic metadata>_140657689402384
+	<POV initialization>_140657689403088
+	<Shim start state>_140657689628752
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log
index ca7b6af..f92badf 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log
index 5853dfc..dca0eb6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log
index a400a89..50c22c8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139841693019728)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139841693019536)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139841693018960)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139841693018832)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139841693018704)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139841693018768)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139841693018640)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139841693018576)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140657682267728)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140657682267536)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140657682266960)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140657682266832)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140657682266704)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140657682266768)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140657682266640)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140657682266576)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log
index dca16f4..8607bb3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log
index e3be3b6..593ec91 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:13 2017                               |
+|  Created on: Wed Sep 13 12:56:12 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin
index 534fe4e..504d49c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html
index 27aec8b..359110c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 01:39:29 2017</i>
+<br><i>Created on Wed Sep 13 12:56:28 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html
index 566189e..8b9edb4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html
@@ -32002,7 +32002,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 01:39:26 2017</i>
+<br><i>Created on Wed Sep 13 12:56:25 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html
index 52b294d..66dcb00 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:39:29 2017</i>
+<br><i>Created on Wed Sep 13 12:56:28 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html
index 788187c..d3b0b4d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html
@@ -7420,7 +7420,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:39:29 2017</i>
+<br><i>Created on Wed Sep 13 12:56:28 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html
index 3b140f3..caf63f1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html
@@ -31212,7 +31212,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 01:39:26 2017</i>
+<br><i>Created on Wed Sep 13 12:56:25 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html
index fe435f2..d1b82f9 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html
@@ -1459,7 +1459,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 01:39:26 2017</i>
+<br><i>Created on Wed Sep 13 12:56:25 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json
index 53ee840..af003fc 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 01:40:13 2017", 
+    "build_date": "Wed Sep 13 12:57:12 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -18366,7 +18366,7 @@
             "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18387,7 +18387,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -18395,7 +18395,7 @@
                     "logical_table_id": 0, 
                     "stage_number": 1, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
@@ -18409,7 +18409,7 @@
             "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18430,7 +18430,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -18438,7 +18438,7 @@
                     "logical_table_id": 1, 
                     "stage_number": 1, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json
index 5e6c26d..e4deeaf 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "default", 
-    "BuildDate": "Wed Sep 13 01:40:13 2017", 
+    "BuildDate": "Wed Sep 13 12:57:12 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -18653,13 +18653,13 @@
           {
             "stage_number": 1, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -18669,7 +18669,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18679,33 +18679,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18730,7 +18706,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -18738,8 +18714,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "ingress_port_count_table": "indirect"
@@ -18761,13 +18737,13 @@
           {
             "stage_number": 1, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -18777,7 +18753,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18787,33 +18763,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -18838,7 +18790,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -18846,8 +18798,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "egress_port_count_table": "indirect"
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info
index 2948723..01dbf61 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info
@@ -137,7 +137,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -149,7 +149,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log
index d941ab9..d0a457f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log
index 9470df8..6c2bb2f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log
index 4c4626d..40ec182 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -836,7 +836,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 1. (old value = 0 OR new value = 1).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 8. (old value = 0 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 1. (old value = 0 OR new value = 1).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x1. (old value = 0x0 OR new value = 0x1).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x2. (old value = 0x0 OR new value = 0x2).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=0].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0x8 (old value = 0x0 OR new value = 0x8).
 Configuring rams.match.merge.mau_payload_shifter_enable[table_type=0][result_bus=1].stats_adr_payload_shifter_en to be 1.
@@ -898,7 +898,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 9. (old value = 1 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 152. (old value = 8 OR new value = 144).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 65. (old value = 1 OR new value = 64).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x201. (old value = 0x1 OR new value = 0x200).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x402. (old value = 0x2 OR new value = 0x400).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=3].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0xb8 (old value = 0x8 OR new value = 0xb0).
 --> Stage Gateway Table for condition egress_port_count_table_always_true_condition in stage 1
@@ -998,33 +998,18 @@
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=2].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
@@ -1083,33 +1068,18 @@
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=3].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
@@ -2012,7 +1982,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 1619
+|  Number of configuration field values set in Match-Action Stages: 1599
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log
index fe41064..3aa1d4f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -752,7 +752,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f420e0d6390>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f56d9e8f390>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -1121,7 +1121,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f420d9d6790>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f56d97cb750>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2279,7 +2279,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f4211e6ac50>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f56d9e83cd0>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2664,7 +2664,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f420e0cbd10>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f56d9e86c10>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log
index ed8477e..3e6de5a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f421256ed10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f56de0fbd10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f421256ed10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f56de0fbd10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f421256ed10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f56de0fbd10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log
index 3d3630d..a5a7a5c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -751,7 +751,7 @@
     hash_distribution_hash_id = 0
     hash_group_id = 0
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 0/0 for table ingress_port_count_table in stage 1.
 Allocating Hash Bit 0 in hash match group 0 for table ingress_port_count_table in stage 1.
@@ -886,7 +886,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f420e0cbcd0>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f56d9e86bd0>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -899,7 +899,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
@@ -1000,7 +1000,7 @@
     hash_distribution_hash_id = 1
     hash_group_id = 1
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 1/0 for table egress_port_count_table in stage 1.
 Allocating Hash Bit 0 in hash match group 1 for table egress_port_count_table in stage 1.
@@ -1135,7 +1135,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f420d85e590>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f56d9c34490>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1148,7 +1148,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log
index 6cc39de..306b9de 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log
index 4ba39da..53aba7e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log
index 9683552..d8bc7f1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log
index cde7e2a..71c31c4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log
index e23e4c2..ad7e296 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
@@ -86,7 +86,7 @@
 Placing table: ingress_port_count_table__action__ with 1024 entries
 Placing table: ingress_port_counter with 512 entries
 Table ingress_port_count_table__action__ with 0 entries is directly referenced
-Table ingress_port_counter with 4096 entries is indirectly referenced
+Table ingress_port_counter with 2048 entries is indirectly referenced
 Match Table ingress_port_count_table has a total of 1024 entries in stage 1
   Direct mapped table ingress_port_count_table__action__ has 0 entries
 >> set ingress_port_count_table (5) to placed
@@ -103,7 +103,7 @@
 Placing table: egress_port_count_table__action__ with 1024 entries
 Placing table: egress_port_counter with 512 entries
 Table egress_port_count_table__action__ with 0 entries is directly referenced
-Table egress_port_counter with 4096 entries is indirectly referenced
+Table egress_port_counter with 2048 entries is indirectly referenced
 Match Table egress_port_count_table has a total of 1024 entries in stage 1
   Direct mapped table egress_port_count_table__action__ has 0 entries
 >> set egress_port_count_table (6) to placed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log
index 6ad45f2..5b1b0ac 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log
index 82ed841..83570de 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log
index 203f934..83b7ade 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log
index 93c5de0..a82a604 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -549,7 +549,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505266800.29
+>>Event 'pa_init' at time 1505307419.30
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 90
@@ -827,7 +827,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505266800.29
+>>Event 'pa_resv' at time 1505307419.30
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -869,7 +869,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505266800.33
+>>Event 'pa_bridge' at time 1505307419.34
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -922,7 +922,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505266800.33
+>>Event 'pa_phase0' at time 1505307419.34
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -975,7 +975,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505266800.33
+>>Event 'pa_critical' at time 1505307419.34
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2023,8 +2023,8 @@
 |     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505266809.39
-   Took 9.06 seconds
+>>Event 'pa_overlay' at time 1505307428.45
+   Took 9.11 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2288,7 +2288,7 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505266809.91
+>>Event 'pa_meta1' at time 1505307428.97
    Took 0.51 seconds
 
 -----------------------------------------------
@@ -2433,7 +2433,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505266809.98
+>>Event 'pa_pov' at time 1505307429.04
    Took 0.07 seconds
 
 -----------------------------------------------
@@ -2590,7 +2590,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505266810.10
+>>Event 'pa_meta2' at time 1505307429.16
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2733,7 +2733,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv67[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505266810.16
+>>Event 'pa_meta_init' at time 1505307429.22
    Took 0.06 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log
index 0869a51..68437a4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log
index 8d68aa8..a187a5a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -19,19 +19,19 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 10
 Number of reachable states from state <Shim start state> : 11
 parser_state_calculations:[
-	parse_tcp_139921671450000
-	parse_tcp_139921680729168
-	parse_udp_139921680728208
-	parse_ipv4_139921680730000
-	parse_ethernet_139921673362576
-	parse_pkt_in_139921680730192
-	parse_pkt_out_139921680761744
-	default_parser_139921680761552
-	start_139921680730832
-	<Phase 0>_139921680518480
-	<Ingress intrinsic metadata>_139921680518160
-	<POV initialization>_139921680518864
-	<Shim start state>_139921680564304
+	parse_tcp_140010997583440
+	parse_tcp_140010997847120
+	parse_udp_140010997846160
+	parse_ipv4_140010997847952
+	parse_ethernet_140010989206288
+	parse_pkt_in_140010997848144
+	parse_pkt_out_140010997662608
+	default_parser_140010997662416
+	start_140010997848784
+	<Phase 0>_140010988485968
+	<Ingress intrinsic metadata>_140010988485648
+	<POV initialization>_140010988486352
+	<Shim start state>_140010988626000
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log
index 662b656..03f0b05 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log
index 44a9378..c3b6944 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log
index bb5dace..4365f33 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:57 2017                               |
+|  Created on: Wed Sep 13 12:56:56 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139921673363024)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139921673362832)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139921673362256)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139921673362128)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139921673362000)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139921673362064)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139921673361936)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139921673361872)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140010989207120)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140010989206928)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140010989206352)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140010989206224)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140010989206096)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140010989206160)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140010989206032)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140010989205968)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log
index 875ca31..723f9c1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log
index 2dc324b..f9bac97 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:39:58 2017                               |
+|  Created on: Wed Sep 13 12:56:57 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin
index 4671dbe..9c92e49 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html
index 22872df..0117455 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 01:40:14 2017</i>
+<br><i>Created on Wed Sep 13 12:57:13 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html
index be5fb74..88d90c8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html
@@ -32002,7 +32002,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 01:40:11 2017</i>
+<br><i>Created on Wed Sep 13 12:57:10 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html
index ac7f627..1ec656e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:40:14 2017</i>
+<br><i>Created on Wed Sep 13 12:57:13 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html
index 2cb157a..a7845cdb 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html
@@ -7420,7 +7420,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:40:14 2017</i>
+<br><i>Created on Wed Sep 13 12:57:13 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html
index a5e79ed..eaa9cf1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html
@@ -31212,7 +31212,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 01:40:11 2017</i>
+<br><i>Created on Wed Sep 13 12:57:10 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html
index acfbcc0..4a3f63e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html
@@ -1459,7 +1459,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 01:40:11 2017</i>
+<br><i>Created on Wed Sep 13 12:57:10 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json
index fc52f75..bb21991 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 01:40:59 2017", 
+    "build_date": "Wed Sep 13 12:57:58 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -23038,7 +23038,7 @@
             "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23059,7 +23059,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -23067,7 +23067,7 @@
                     "logical_table_id": 0, 
                     "stage_number": 2, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
@@ -23081,7 +23081,7 @@
             "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23102,7 +23102,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -23110,7 +23110,7 @@
                     "logical_table_id": 1, 
                     "stage_number": 2, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json
index b1814d5..ef89160 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "ecmp", 
-    "BuildDate": "Wed Sep 13 01:40:59 2017", 
+    "BuildDate": "Wed Sep 13 12:57:58 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -25605,13 +25605,13 @@
           {
             "stage_number": 2, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -25621,7 +25621,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25631,33 +25631,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25682,7 +25658,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -25690,8 +25666,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "ingress_port_count_table": "indirect"
@@ -25713,13 +25689,13 @@
           {
             "stage_number": 2, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -25729,7 +25705,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25739,33 +25715,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25790,7 +25742,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -25798,8 +25750,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "egress_port_count_table": "indirect"
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info
index 2bf5394..4e460db 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info
@@ -180,7 +180,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -192,7 +192,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log
index 8f08dae..65fe8c1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log
index 9b2a584..1df0143 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log
index 202db08..0a70b43 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -1954,7 +1954,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 1. (old value = 0 OR new value = 1).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 8. (old value = 0 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 1. (old value = 0 OR new value = 1).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x1. (old value = 0x0 OR new value = 0x1).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x2. (old value = 0x0 OR new value = 0x2).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=0].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0x8 (old value = 0x0 OR new value = 0x8).
 Configuring rams.match.merge.mau_payload_shifter_enable[table_type=0][result_bus=1].stats_adr_payload_shifter_en to be 1.
@@ -2016,7 +2016,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 9. (old value = 1 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 152. (old value = 8 OR new value = 144).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 65. (old value = 1 OR new value = 64).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x201. (old value = 0x1 OR new value = 0x200).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x402. (old value = 0x2 OR new value = 0x400).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=3].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0xb8 (old value = 0x8 OR new value = 0xb0).
 --> Stage Gateway Table for condition egress_port_count_table_always_true_condition in stage 2
@@ -2116,33 +2116,18 @@
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=2].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
@@ -2201,33 +2186,18 @@
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=3].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
@@ -3078,7 +3048,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 2188
+|  Number of configuration field values set in Match-Action Stages: 2168
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log
index 76d7d2a..559c11f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -757,7 +757,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9400807f10>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fe01e932f10>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -1126,7 +1126,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9400541910>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fe01e901910>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -2294,7 +2294,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9404811250>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fe0221df250>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2679,7 +2679,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9400d2a790>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fe01e5e5690>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log
index e838837..941b808 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f9405353c50>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fe022d0bc50>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f9405353c50>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fe022d0bc50>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f9405353c50>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fe022d0bc50>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log
index ce12c78..0a05cb3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -1075,7 +1075,7 @@
     hash_distribution_hash_id = 0
     hash_group_id = 0
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 0/0 for table ingress_port_count_table in stage 2.
 Allocating Hash Bit 0 in hash match group 0 for table ingress_port_count_table in stage 2.
@@ -1210,7 +1210,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f9400d2a750>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7fe01e5e5650>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1223,7 +1223,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
@@ -1324,7 +1324,7 @@
     hash_distribution_hash_id = 1
     hash_group_id = 1
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 1/0 for table egress_port_count_table in stage 2.
 Allocating Hash Bit 0 in hash match group 1 for table egress_port_count_table in stage 2.
@@ -1459,7 +1459,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f9400d0a690>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7fe01e5e5ed0>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1472,7 +1472,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log
index 2e381bb..62420fe 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log
index dadd8d9..a04734a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log
index d79b866..c478a49 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log
index c73f37f..1e4c7e3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log
index d7a4235..6f864fe 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
@@ -113,7 +113,7 @@
 Placing table: ingress_port_count_table__action__ with 1024 entries
 Placing table: ingress_port_counter with 512 entries
 Table ingress_port_count_table__action__ with 0 entries is directly referenced
-Table ingress_port_counter with 4096 entries is indirectly referenced
+Table ingress_port_counter with 2048 entries is indirectly referenced
 Match Table ingress_port_count_table has a total of 1024 entries in stage 2
   Direct mapped table ingress_port_count_table__action__ has 0 entries
 >> set ingress_port_count_table (5) to placed
@@ -130,7 +130,7 @@
 Placing table: egress_port_count_table__action__ with 1024 entries
 Placing table: egress_port_counter with 512 entries
 Table egress_port_count_table__action__ with 0 entries is directly referenced
-Table egress_port_counter with 4096 entries is indirectly referenced
+Table egress_port_counter with 2048 entries is indirectly referenced
 Match Table egress_port_count_table has a total of 1024 entries in stage 2
   Direct mapped table egress_port_count_table__action__ has 0 entries
 >> set egress_port_count_table (6) to placed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log
index a453940..d35bf82 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log
index 343868f..a181d40 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log
index 86b6fbe..383480a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
index f9510a5..fa6a416 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -553,7 +553,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505266845.03
+>>Event 'pa_init' at time 1505307464.13
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 92
@@ -837,7 +837,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505266845.03
+>>Event 'pa_resv' at time 1505307464.14
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -879,7 +879,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505266845.07
+>>Event 'pa_bridge' at time 1505307464.17
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -932,7 +932,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505266845.07
+>>Event 'pa_phase0' at time 1505307464.18
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -985,7 +985,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505266845.08
+>>Event 'pa_critical' at time 1505307464.18
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2081,8 +2081,8 @@
 |     Overall total      |   50 (14.88%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505266854.37
-   Took 9.29 seconds
+>>Event 'pa_overlay' at time 1505307473.24
+   Took 9.06 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2346,7 +2346,7 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505266854.88
+>>Event 'pa_meta1' at time 1505307473.75
    Took 0.51 seconds
 
 -----------------------------------------------
@@ -2502,8 +2502,8 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505266854.99
-   Took 0.11 seconds
+>>Event 'pa_pov' at time 1505307473.85
+   Took 0.10 seconds
 
 -----------------------------------------------
   Allocating POV
@@ -2659,7 +2659,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505266855.11
+>>Event 'pa_meta2' at time 1505307473.97
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2886,7 +2886,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505266855.27
+>>Event 'pa_meta_init' at time 1505307474.14
    Took 0.16 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log
index a8587a4..4335eab 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log
index 1b257c7..7fe530d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -18,18 +18,18 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 9
 Number of reachable states from state <Shim start state> : 10
 parser_state_calculations:[
-	parse_tcp_140273647394448
-	parse_udp_140273647464976
-	parse_ipv4_140273647391312
-	parse_ethernet_140273640811920
-	parse_pkt_in_140273647393552
-	parse_pkt_out_140273647466064
-	default_parser_140273647465872
-	start_140273647392592
-	<Phase 0>_140273647325264
-	<Ingress intrinsic metadata>_140273647431376
-	<POV initialization>_140273647325648
-	<Shim start state>_140273647325968
+	parse_tcp_140600552828560
+	parse_udp_140600552788496
+	parse_ipv4_140600552825104
+	parse_ethernet_140600561687952
+	parse_pkt_in_140600552827664
+	parse_pkt_out_140600552789584
+	default_parser_140600552789392
+	start_140600552826704
+	<Phase 0>_140600552800336
+	<Ingress intrinsic metadata>_140600552890064
+	<POV initialization>_140600552800720
+	<Shim start state>_140600552801040
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log
index e0dca57..9fe7838 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log
index a807e42..5dfd9dd 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log
index 58ec476..dc1ec65 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140273640812112)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140273640811664)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140273647391504)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140273647391184)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140273647391568)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140273647390800)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140273647391632)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140273647391696)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140600561688144)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140600561687696)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140600552825616)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140600552825296)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140600552825680)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140600552824912)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140600552825744)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140600552825808)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log
index 6004be2..c77fcb1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log
index 78369a6..f36ebb3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:40:42 2017                               |
+|  Created on: Wed Sep 13 12:57:41 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin
index 7d2720e..1730fa8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html
index 0875b97..ba664db 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 01:41:00 2017</i>
+<br><i>Created on Wed Sep 13 12:57:59 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html
index 96a0b9e..1af091d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html
@@ -32262,7 +32262,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 01:40:56 2017</i>
+<br><i>Created on Wed Sep 13 12:57:55 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html
index a977f32..ebfd696 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:41:00 2017</i>
+<br><i>Created on Wed Sep 13 12:57:59 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html
index 21cc796..1e5c242 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html
@@ -7030,7 +7030,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:41:00 2017</i>
+<br><i>Created on Wed Sep 13 12:57:59 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html
index 86b21e1..bd4c913 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html
@@ -31435,7 +31435,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 01:40:57 2017</i>
+<br><i>Created on Wed Sep 13 12:57:56 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html
index 5c2d7a2..81b5323 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html
@@ -1501,7 +1501,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 01:40:56 2017</i>
+<br><i>Created on Wed Sep 13 12:57:55 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json
index aeb1557..3b230c4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 01:41:45 2017", 
+    "build_date": "Wed Sep 13 12:58:44 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -23038,7 +23038,7 @@
             "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23059,7 +23059,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -23067,7 +23067,7 @@
                     "logical_table_id": 0, 
                     "stage_number": 2, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
@@ -23081,7 +23081,7 @@
             "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 32, 
+            "byte_counter_resolution": 64, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23102,7 +23102,7 @@
                     "pack_format": [
                         {
                             "memory_word_width": 128, 
-                            "entries_per_table_word": 4, 
+                            "entries_per_table_word": 2, 
                             "table_word_width": 128, 
                             "number_memory_units_per_table_word": 1
                         }
@@ -23110,7 +23110,7 @@
                     "logical_table_id": 1, 
                     "stage_number": 2, 
                     "stage_table_type": "statistics", 
-                    "size": 4096
+                    "size": 2048
                 }
             ], 
             "enable_pfe": true, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json
index 372ee6c..7c617ea 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "ecmp", 
-    "BuildDate": "Wed Sep 13 01:41:45 2017", 
+    "BuildDate": "Wed Sep 13 12:58:44 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -25605,13 +25605,13 @@
           {
             "stage_number": 2, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -25621,7 +25621,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25631,33 +25631,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25682,7 +25658,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -25690,8 +25666,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "ingress_port_count_table": "indirect"
@@ -25713,13 +25689,13 @@
           {
             "stage_number": 2, 
             "stage_table_type": "statistics", 
-            "number_entries": 4096, 
+            "number_entries": 2048, 
             "pack_format_length": 1, 
             "pack_format": [
               {
                 "table_word_width": 128, 
                 "memory_word_width": 128, 
-                "entries_per_table_word": 4, 
+                "entries_per_table_word": 2, 
                 "number_memory_units_per_table_word": 1, 
                 "entry_list": [
                   {
@@ -25729,7 +25705,7 @@
                         "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25739,33 +25715,9 @@
                     "field_list": [
                       {
                         "name": "bytes_0", 
-                        "start_offset": 32, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 2, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
-                        "bit_width": 32, 
-                        "range_field": false
-                      }
-                    ]
-                  }, 
-                  {
-                    "entry_number": 3, 
-                    "field_list": [
-                      {
-                        "name": "bytes_0", 
-                        "start_offset": 96, 
-                        "start_bit": 0, 
-                        "bit_width": 32, 
+                        "bit_width": 64, 
                         "range_field": false
                       }
                     ]
@@ -25790,7 +25742,7 @@
               ]
             }, 
             "pkt_width": 0, 
-            "byte_width": 32, 
+            "byte_width": 64, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
             "stat_type": "bytes", 
@@ -25798,8 +25750,8 @@
           }
         ], 
         "statistics_type": "bytes", 
-        "statistics_precision": 32, 
-        "lrt_enable": true, 
+        "statistics_precision": 64, 
+        "lrt_enable": false, 
         "saturating": false, 
         "reference_dictionary": {
           "egress_port_count_table": "indirect"
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
index 2bf5394..4e460db 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
@@ -180,7 +180,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -192,7 +192,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log
index b3e4b13..713d65b 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log
index 8cf3dab..b50772b 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log
index 22a2d01..e9158b8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -1954,7 +1954,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 1. (old value = 0 OR new value = 1).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 8. (old value = 0 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 1. (old value = 0 OR new value = 1).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x1. (old value = 0x0 OR new value = 0x1).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x2. (old value = 0x0 OR new value = 0x2).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=0].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0x8 (old value = 0x0 OR new value = 0x8).
 Configuring rams.match.merge.mau_payload_shifter_enable[table_type=0][result_bus=1].stats_adr_payload_shifter_en to be 1.
@@ -2016,7 +2016,7 @@
 Configuring rams.match.merge.mau_hash_group_config.hash_group_enable to be 9. (old value = 1 OR new value = 8).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_sel to be 152. (old value = 8 OR new value = 144).
 Configuring rams.match.merge.mau_hash_group_config.hash_group_ctl to be 65. (old value = 1 OR new value = 64).
-Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x201. (old value = 0x1 OR new value = 0x200).
+Configuring rams.match.merge.mau_hash_group_shiftcount.mau_hash_group_shiftcount to be 0x402. (old value = 0x2 OR new value = 0x400).
 Configuring rams.match.merge.mau_hash_group_mask[which_16=3].mau_hash_group_mask to be 0x3ff.  (previous value = 0x0  OR new value = 0x3ff)
 Configuring rams.match.merge.mau_hash_group_xbar_ctl[output_type_index=3][control_group_index=0].mau_hash_group_xbar_ctl to be 0xb8 (old value = 0x8 OR new value = 0xb0).
 --> Stage Gateway Table for condition egress_port_count_table_always_true_condition in stage 2
@@ -2116,33 +2116,18 @@
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=4].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=2].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
@@ -2201,33 +2186,18 @@
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_select to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_wadr_mux_enable to be 1.
 Configuring rams.map_alu.row[row=6].adrmux.ram_address_mux_ctl[array_half_index=1][map_ram_half_index=1].map_ram_radr_mux_select_smoflo to be 1.
-For counter width 32 and N = 4096
-  number iterations = 32
-  b_cur = 379488672.0
-  eqn(b_cur) = 4294964039.26
-  max_counter_value = 4294967295
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 2.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x2.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_fsm_sweep_offset[stats_group_index=3].stats_lrt_fsm_sweep_offset to be 0x0.
-Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
 Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
-Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
@@ -3078,7 +3048,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 2188
+|  Number of configuration field values set in Match-Action Stages: 2168
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
index 41b4ab6..81c1714 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -757,7 +757,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbcd6bef50>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fa5c5dcbf50>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -1126,7 +1126,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbcd6a8950>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fa5c5d90950>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -2294,7 +2294,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbd0fbc290>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fa5c9cec290>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2679,7 +2679,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbcd5607d0>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7fa5c601d6d0>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log
index 5ea31d6..0389583 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7efbd1b02c90>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fa5ca832c90>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7efbd1b02c90>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fa5ca832c90>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7efbd1b02c90>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7fa5ca832c90>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log
index 0e52d95..670d5d6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -1075,7 +1075,7 @@
     hash_distribution_hash_id = 0
     hash_group_id = 0
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 0/0 for table ingress_port_count_table in stage 2.
 Allocating Hash Bit 0 in hash match group 0 for table ingress_port_count_table in stage 2.
@@ -1210,7 +1210,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7efbcd560790>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7fa5c601d690>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1223,7 +1223,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
@@ -1324,7 +1324,7 @@
     hash_distribution_hash_id = 1
     hash_group_id = 1
     hash_bits_in_units = OrderedDict([(0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])])
-    address_left_shift = 1
+    address_left_shift = 2
 -------------------
 Allocating Hash Distribution Group 1/0 for table egress_port_count_table in stage 2.
 Allocating Hash Bit 0 in hash match group 1 for table egress_port_count_table in stage 2.
@@ -1459,7 +1459,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7efbcd585450>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7fa5c629c710>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1472,7 +1472,7 @@
   hash_distribution_used_for : Statistics Address
   table_direction : ingress
   bits_to_use : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-  left_shift : 1
+  left_shift : 2
   expanded_lo : False
   expanded_hi : False
   expanded_bit_width : 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log
index 7a07ee3..4cad542 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log
index 522dbab..4a3d3bf 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log
index 4ba29db..e1d9c9f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log
index 50096df..472b89f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log
index 28e4636..5e66737 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
@@ -113,7 +113,7 @@
 Placing table: ingress_port_count_table__action__ with 1024 entries
 Placing table: ingress_port_counter with 512 entries
 Table ingress_port_count_table__action__ with 0 entries is directly referenced
-Table ingress_port_counter with 4096 entries is indirectly referenced
+Table ingress_port_counter with 2048 entries is indirectly referenced
 Match Table ingress_port_count_table has a total of 1024 entries in stage 2
   Direct mapped table ingress_port_count_table__action__ has 0 entries
 >> set ingress_port_count_table (5) to placed
@@ -130,7 +130,7 @@
 Placing table: egress_port_count_table__action__ with 1024 entries
 Placing table: egress_port_counter with 512 entries
 Table egress_port_count_table__action__ with 0 entries is directly referenced
-Table egress_port_counter with 4096 entries is indirectly referenced
+Table egress_port_counter with 2048 entries is indirectly referenced
 Match Table egress_port_count_table has a total of 1024 entries in stage 2
   Direct mapped table egress_port_count_table__action__ has 0 entries
 >> set egress_port_count_table (6) to placed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log
index 1b8c407..90e5eb5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log
index d7a5066..88781a0 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log
index 4ecded4..922ecd0 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log
index 8b570b5..9ecd781 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -553,7 +553,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505266891.04
+>>Event 'pa_init' at time 1505307510.02
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 92
@@ -837,7 +837,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505266891.04
+>>Event 'pa_resv' at time 1505307510.02
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -879,7 +879,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505266891.08
+>>Event 'pa_bridge' at time 1505307510.06
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -932,7 +932,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505266891.08
+>>Event 'pa_phase0' at time 1505307510.06
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -985,7 +985,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505266891.09
+>>Event 'pa_critical' at time 1505307510.07
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2081,8 +2081,8 @@
 |     Overall total      |   50 (14.88%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505266900.34
-   Took 9.25 seconds
+>>Event 'pa_overlay' at time 1505307519.14
+   Took 9.07 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2346,8 +2346,8 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505266900.86
-   Took 0.52 seconds
+>>Event 'pa_meta1' at time 1505307519.65
+   Took 0.51 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 1)
@@ -2502,8 +2502,8 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505266900.96
-   Took 0.11 seconds
+>>Event 'pa_pov' at time 1505307519.75
+   Took 0.10 seconds
 
 -----------------------------------------------
   Allocating POV
@@ -2659,8 +2659,8 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505266901.09
-   Took 0.13 seconds
+>>Event 'pa_meta2' at time 1505307519.88
+   Took 0.12 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 2)
@@ -2886,7 +2886,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505266901.25
+>>Event 'pa_meta_init' at time 1505307520.04
    Took 0.16 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log
index 423c8bf..e0cb1a8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log
index 2fe7295..99cda1c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -18,18 +18,18 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 9
 Number of reachable states from state <Shim start state> : 10
 parser_state_calculations:[
-	parse_tcp_139619948449488
-	parse_udp_139619948458576
-	parse_ipv4_139619948446032
-	parse_ethernet_139619946425872
-	parse_pkt_in_139619948448592
-	parse_pkt_out_139619948459664
-	default_parser_139619948459472
-	start_139619948448144
-	<Phase 0>_139619948527760
-	<Ingress intrinsic metadata>_139619948576528
-	<POV initialization>_139619948528144
-	<Shim start state>_139619948528464
+	parse_tcp_140349969362640
+	parse_udp_140349969568336
+	parse_ipv4_140349969359184
+	parse_ethernet_140349970382352
+	parse_pkt_in_140349969361744
+	parse_pkt_out_140349969569424
+	default_parser_140349969569232
+	start_140349969361296
+	<Phase 0>_140349962170512
+	<Ingress intrinsic metadata>_140349969411856
+	<POV initialization>_140349962170896
+	<Shim start state>_140349962171216
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log
index 3a4796d..09f6f58 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log
index 409bfdb..59e3472 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log
index b48f47c..607d95e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139619946425936)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139619946425744)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139619948446544)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139619948446160)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139619948446608)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139619948445776)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139619948446672)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139619948446736)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140349970382416)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140349970382224)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140349969359696)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140349969359312)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140349969359760)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140349969358928)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140349969359824)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140349969359888)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log
index b1eb0cd..c6e0345 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log
index 226ed4e..4a762d5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:41:28 2017                               |
+|  Created on: Wed Sep 13 12:58:27 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin
index 7f4ed1f..85af116 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html
index c93390c..864e9ca 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 01:41:46 2017</i>
+<br><i>Created on Wed Sep 13 12:58:45 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html
index cb7e288..5e20ce2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html
@@ -32262,7 +32262,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 01:41:42 2017</i>
+<br><i>Created on Wed Sep 13 12:58:41 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html
index 80692c3..b1ee3b3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:41:46 2017</i>
+<br><i>Created on Wed Sep 13 12:58:45 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html
index c8a8359..c22e704 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html
@@ -7030,7 +7030,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:41:46 2017</i>
+<br><i>Created on Wed Sep 13 12:58:45 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html
index 080f1b7..12fb67d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html
@@ -31435,7 +31435,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 01:41:43 2017</i>
+<br><i>Created on Wed Sep 13 12:58:42 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html
index 47aad20..78cf898 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html
@@ -1501,7 +1501,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 01:41:42 2017</i>
+<br><i>Created on Wed Sep 13 12:58:41 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/wcmp.p4info b/tools/test/p4src/p4-14/p4c-out/wcmp.p4info
index 6295882..80e4444 100644
--- a/tools/test/p4src/p4-14/p4c-out/wcmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/wcmp.p4info
@@ -202,7 +202,7 @@
     id: 302008596
     name: "egress_port_counter"
     alias: "egress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES
@@ -214,7 +214,7 @@
     id: 301991238
     name: "ingress_port_counter"
     alias: "ingress_port_counter"
-    annotations: "@min_width(32)"
+    annotations: "@min_width(64)"
   }
   spec {
     unit: BYTES