Use 64 bits counters to mitigate wrapping

Change-Id: I5c1f6a936fcd0d5d38c95a9fe6344fd7bf440e91
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