
Marking local functions: pfe_emac_cfg_report_hm_event crc32_reversed reverse_bits_32


Marking externally visible functions: pfe_emac_cfg_isr pfe_emac_cfg_get_stat_value pfe_emac_cfg_get_rx_cnt pfe_emac_cfg_get_tx_cnt pfe_emac_cfg_mdio_write45 pfe_emac_cfg_mdio_write22 pfe_emac_cfg_mdio_read45 pfe_emac_cfg_mdio_read22 pfe_emac_cfg_set_rx_flow_control pfe_emac_cfg_set_tx_flow_control pfe_emac_cfg_get_rx_flow_control pfe_emac_cfg_get_tx_flow_control pfe_emac_cfg_set_enable pfe_emac_cfg_set_broadcast pfe_emac_cfg_set_allmulti_mode pfe_emac_cfg_set_promisc_mode pfe_emac_cfg_set_loopback pfe_emac_cfg_set_hash_group pfe_emac_cfg_get_hash pfe_emac_cfg_write_addr_slot pfe_emac_cfg_set_max_frame_length pfe_emac_cfg_get_link_status pfe_emac_cfg_get_link_config pfe_emac_cfg_set_speed pfe_emac_cfg_set_mii_mode pfe_emac_cfg_set_duplex pfe_emac_cfg_tx_disable pfe_emac_cfg_adjust_ts_time pfe_emac_cfg_set_ts_time pfe_emac_cfg_get_ts_time pfe_emac_cfg_adjust_ts_freq pfe_emac_cfg_disable_ts pfe_emac_cfg_enable_ts pfe_emac_cfg_get_index pfe_emac_cfg_init


Marking externally visible variables:

Clearing variable flags: hm_src (non-addressable)

Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

pfe_hm_report/65 (pfe_hm_report) @0762bee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_emac_cfg_report_hm_event/57 (93458722 (estimated locally),0.81 per call) pfe_emac_cfg_report_hm_event/57 (146260851 (estimated locally),1.27 per call) 
  Calls: 
hm_src.10969/64 (hm_src) @0763aee8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: pfe_emac_cfg_report_hm_event/57 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
dpp_fsm_events.10982/63 (dpp_fsm_events) @0763aa20
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: pfe_emac_cfg_isr/58 (addr)
  Availability: available
  Varpool flags: initialized read-only const-value-known
mtl_ecc_events.10981/62 (mtl_ecc_events) @0763a990
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: pfe_emac_cfg_isr/58 (addr)
  Availability: available
  Varpool flags: initialized read-only const-value-known
oal_time_udelay/61 (oal_time_udelay) @07610b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_emac_cfg_set_hash_group/40 (524845004 (estimated locally),0.49 per call) pfe_emac_cfg_write_addr_slot/38 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
oal_time_usleep/60 (oal_time_usleep) @075d4d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_emac_cfg_mdio_write45/53 (1004539164 (estimated locally),14.52 per call) pfe_emac_cfg_mdio_write22/52 (1004539164 (estimated locally),14.52 per call) pfe_emac_cfg_mdio_read45/51 (1004539164 (estimated locally),14.52 per call) pfe_emac_cfg_mdio_read22/50 (1063004405 (estimated locally),15.36 per call) pfe_emac_cfg_set_tx_flow_control/48 (1073741824 (estimated locally),6.69 per call) pfe_emac_cfg_adjust_ts_time/30 (1073741824 (estimated locally),4.26 per call) pfe_emac_cfg_set_ts_time/29 (1073741824 (estimated locally),5.16 per call) pfe_emac_cfg_adjust_ts_freq/27 (1073741824 (estimated locally),7.10 per call) pfe_emac_cfg_enable_ts/25 (840525098 (estimated locally),3.67 per call) pfe_emac_cfg_enable_ts/25 (1073741824 (estimated locally),4.68 per call) 
  Calls: 
pfe_feature_mgr_is_available/59 (pfe_feature_mgr_is_available) @075d49a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_emac_cfg_init/23 (1073741824 (estimated locally),1.00 per call) pfe_emac_cfg_init/23 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_emac_cfg_isr/58 (pfe_emac_cfg_isr) @075d4540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: mtl_ecc_events.10981/62 (addr)dpp_fsm_events.10982/63 (addr)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_emac_cfg_report_hm_event/57 (1073741824 (estimated locally),1.00 per call) pfe_emac_cfg_report_hm_event/57 (1073741824 (estimated locally),1.00 per call) pfe_emac_cfg_get_index/24 (1073741824 (estimated locally),1.00 per call) 
pfe_emac_cfg_report_hm_event/57 (pfe_emac_cfg_report_hm_event) @075d4000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: hm_src.10969/64 (read)
  Referring: 
  Availability: local
  Function flags: count:114863532 (estimated locally) body local optimize_size
  Called by: pfe_emac_cfg_isr/58 (1073741824 (estimated locally),1.00 per call) pfe_emac_cfg_isr/58 (1073741824 (estimated locally),1.00 per call) 
  Calls: pfe_hm_report/65 (93458722 (estimated locally),0.81 per call) pfe_hm_report/65 (146260851 (estimated locally),1.27 per call) 
pfe_emac_cfg_get_stat_value/56 (pfe_emac_cfg_get_stat_value) @075cde00
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_get_rx_cnt/55 (pfe_emac_cfg_get_rx_cnt) @075cdb60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_get_tx_cnt/54 (pfe_emac_cfg_get_tx_cnt) @075cd7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_mdio_write45/53 (pfe_emac_cfg_mdio_write45) @075cd460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:69202660 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1004539164 (estimated locally),14.52 per call) 
pfe_emac_cfg_mdio_write22/52 (pfe_emac_cfg_mdio_write22) @07579a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:69202660 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1004539164 (estimated locally),14.52 per call) 
pfe_emac_cfg_mdio_read45/51 (pfe_emac_cfg_mdio_read45) @07576460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:69202660 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1004539164 (estimated locally),14.52 per call) 
pfe_emac_cfg_mdio_read22/50 (pfe_emac_cfg_mdio_read22) @07576380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:69202660 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1063004405 (estimated locally),15.36 per call) 
pfe_emac_cfg_set_rx_flow_control/49 (pfe_emac_cfg_set_rx_flow_control) @075738c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_tx_flow_control/48 (pfe_emac_cfg_set_tx_flow_control) @07573380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:160524402 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1073741824 (estimated locally),6.69 per call) 
pfe_emac_cfg_get_rx_flow_control/47 (pfe_emac_cfg_get_rx_flow_control) @0756f0e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_get_tx_flow_control/46 (pfe_emac_cfg_get_tx_flow_control) @0756fb60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_enable/45 (pfe_emac_cfg_set_enable) @0756f700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_broadcast/44 (pfe_emac_cfg_set_broadcast) @0756f000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_allmulti_mode/43 (pfe_emac_cfg_set_allmulti_mode) @07569d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_promisc_mode/42 (pfe_emac_cfg_set_promisc_mode) @075697e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_loopback/41 (pfe_emac_cfg_set_loopback) @075692a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_hash_group/40 (pfe_emac_cfg_set_hash_group) @075629a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_udelay/61 (524845004 (estimated locally),0.49 per call) 
pfe_emac_cfg_get_hash/39 (pfe_emac_cfg_get_hash) @07562b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: crc32_reversed/22 (1073741824 (estimated locally),1.00 per call) 
pfe_emac_cfg_write_addr_slot/38 (pfe_emac_cfg_write_addr_slot) @075628c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_udelay/61 (1073741824 (estimated locally),1.00 per call) 
pfe_emac_cfg_set_max_frame_length/37 (pfe_emac_cfg_set_max_frame_length) @07562380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_get_link_status/36 (pfe_emac_cfg_get_link_status) @0755aa80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_get_link_config/35 (pfe_emac_cfg_get_link_config) @0755a700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_speed/34 (pfe_emac_cfg_set_speed) @0755a380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: pfe_emac_cfg_init/23 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_emac_cfg_set_mii_mode/33 (pfe_emac_cfg_set_mii_mode) @07557a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_set_duplex/32 (pfe_emac_cfg_set_duplex) @075577e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: pfe_emac_cfg_init/23 (512926469 (estimated locally),0.48 per call) 
  Calls: 
pfe_emac_cfg_tx_disable/31 (pfe_emac_cfg_tx_disable) @075571c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_adjust_ts_time/30 (pfe_emac_cfg_adjust_ts_time) @075507e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:252003215 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1073741824 (estimated locally),4.26 per call) 
pfe_emac_cfg_set_ts_time/29 (pfe_emac_cfg_set_ts_time) @07550700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:207902652 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1073741824 (estimated locally),5.16 per call) 
pfe_emac_cfg_get_ts_time/28 (pfe_emac_cfg_get_ts_time) @075500e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_adjust_ts_freq/27 (pfe_emac_cfg_adjust_ts_freq) @07549d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:151290760 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (1073741824 (estimated locally),7.10 per call) 
pfe_emac_cfg_disable_ts/26 (pfe_emac_cfg_disable_ts) @07549700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_emac_cfg_enable_ts/25 (pfe_emac_cfg_enable_ts) @07549460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:229228424 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/60 (840525098 (estimated locally),3.67 per call) oal_time_usleep/60 (1073741824 (estimated locally),4.68 per call) 
pfe_emac_cfg_get_index/24 (pfe_emac_cfg_get_index) @075442a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: pfe_emac_cfg_isr/58 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_emac_cfg_init/23 (pfe_emac_cfg_init) @07544000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_emac_cfg_set_duplex/32 (512926469 (estimated locally),0.48 per call) pfe_emac_cfg_set_speed/34 (1073741824 (estimated locally),1.00 per call) pfe_feature_mgr_is_available/59 (1073741824 (estimated locally),1.00 per call) pfe_feature_mgr_is_available/59 (1073741824 (estimated locally),1.00 per call) 
crc32_reversed/22 (crc32_reversed) @07531ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:14744043 (estimated locally) body local optimize_size
  Called by: pfe_emac_cfg_get_hash/39 (1073741824 (estimated locally),1.00 per call) 
  Calls: reverse_bits_32/21 (14744044 (estimated locally),1.00 per call) 
reverse_bits_32/21 (reverse_bits_32) @07531e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:32534378 (estimated locally) body local optimize_size
  Called by: crc32_reversed/22 (14744044 (estimated locally),1.00 per call) 
  Calls: 
pfe_emac_cfg_isr (addr_t base_va, addr_t cbus_base)
{
  uint32_t dpp_fsm_status;
  uint32_t mtl_ecc_status;
  static const pfe_hm_evt_t dpp_fsm_events[25] = {36, 0, 0, 38, 0, 37, 0, 0, 40, 41, 0, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 39};
  static const pfe_hm_evt_t mtl_ecc_events[7] = {30, 32, 31, 0, 33, 35, 34};
  uint8_t instance_id;
  unsigned int _1;
  volatile uint32_t * _2;
  unsigned int _3;
  volatile uint32_t * _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  instance_id_8 = pfe_emac_cfg_get_index (base_va_6(D), cbus_base_7(D));
  # DEBUG instance_id => instance_id_8
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_6(D) + 3276;
  _2 = (volatile uint32_t *) _1;
  mtl_ecc_status_9 ={v} *_2;
  # DEBUG mtl_ecc_status => mtl_ecc_status_9
  # DEBUG BEGIN_STMT
  _3 = base_va_6(D) + 320;
  _4 = (volatile uint32_t *) _3;
  dpp_fsm_status_10 ={v} *_4;
  # DEBUG dpp_fsm_status => dpp_fsm_status_10
  # DEBUG BEGIN_STMT
  pfe_emac_cfg_report_hm_event (instance_id_8, &mtl_ecc_events, 7, mtl_ecc_status_9);
  # DEBUG BEGIN_STMT
  pfe_emac_cfg_report_hm_event (instance_id_8, &dpp_fsm_events, 25, dpp_fsm_status_10);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} mtl_ecc_status_9;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_4 ={v} dpp_fsm_status_10;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return 0;

}


pfe_emac_cfg_report_hm_event (uint8_t id, const pfe_hm_evt_t * events, uint8_t events_len, uint32_t flags)
{
  pfe_hm_src_t src;
  uint32_t isr_flags;
  uint8_t index;
  static const pfe_hm_src_t hm_src[3] = {2, 3, 4};
  int _1;
  long unsigned int _2;
  sizetype _3;
  const pfe_hm_evt_t * _4;
  <unnamed type> _5;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG index => 0
  # DEBUG BEGIN_STMT
  # DEBUG isr_flags => flags_10(D)
  # DEBUG BEGIN_STMT
  # DEBUG src => 2
  # DEBUG BEGIN_STMT
  if (id_11(D) <= 2)
    goto <bb 3>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 3> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  _1 = (int) id_11(D);
  src_13 = hm_src[_1];
  # DEBUG src => src_13
  goto <bb 11>; [100.00%]

  <bb 4> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  _2 = isr_flags_7 & 1;
  if (_2 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 5> [local count: 479439146]:
  _3 = (sizetype) index_6;
  _4 = events_15(D) + _3;
  _5 = *_4;
  if (_5 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 6> [local count: 239719573]:
  # DEBUG BEGIN_STMT
  if (_5 == 33)
    goto <bb 8>; [20.24%]
  else
    goto <bb 7>; [79.76%]

  <bb 7> [local count: 191200331]:
  if (_5 == 30)
    goto <bb 8>; [51.12%]
  else
    goto <bb 9>; [48.88%]

  <bb 8> [local count: 146260851]:
  # DEBUG BEGIN_STMT
  pfe_hm_report (src_20, 1, _5, "");
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 93458722]:
  # DEBUG BEGIN_STMT
  pfe_hm_report (src_20, 2, _5, "");

  <bb 10> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  index_18 = index_6 + 1;
  # DEBUG index => index_18
  # DEBUG BEGIN_STMT
  isr_flags_19 = isr_flags_7 >> 1;
  # DEBUG isr_flags => isr_flags_19
  goto <bb 12>; [100.00%]

  <bb 11> [local count: 114863532]:
  # src_20 = PHI <src_13(3), 2(2)>

  <bb 12> [local count: 1073741824]:
  # index_6 = PHI <0(11), index_18(10)>
  # isr_flags_7 = PHI <flags_10(D)(11), isr_flags_19(10)>
  # DEBUG src => src_20
  # DEBUG isr_flags => isr_flags_7
  # DEBUG index => index_6
  # DEBUG BEGIN_STMT
  if (isr_flags_7 != 0)
    goto <bb 13>; [94.50%]
  else
    goto <bb 14>; [5.50%]

  <bb 13> [local count: 1014686025]:
  if (index_6 < events_len_14(D))
    goto <bb 4>; [94.50%]
  else
    goto <bb 14>; [5.50%]

  <bb 14> [local count: 114863532]:
  return;

}


pfe_emac_cfg_get_stat_value (addr_t base_va, uint32_t stat_id)
{
  uint32_t stat_value;
  long unsigned int _1;
  volatile uint32_t * _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_3(D) + stat_id_4(D);
  _2 = (volatile uint32_t *) _1;
  stat_value_6 ={v} *_2;
  # DEBUG stat_value => stat_value_6
  # DEBUG BEGIN_STMT
  return stat_value_6;

}


pfe_emac_cfg_get_rx_cnt (addr_t base_va)
{
  unsigned int _1;
  volatile uint32_t * _2;
  uint32_t _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_3(D) + 1920;
  _2 = (volatile uint32_t *) _1;
  _5 ={v} *_2;
  return _5;

}


pfe_emac_cfg_get_tx_cnt (addr_t base_va)
{
  unsigned int _1;
  volatile uint32_t * _2;
  uint32_t _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_3(D) + 1816;
  _2 = (volatile uint32_t *) _1;
  _5 ={v} *_2;
  return _5;

}


pfe_emac_cfg_mdio_write45 (addr_t base_va, uint8_t pa, uint8_t dev, uint16_t ra, uint16_t val)
{
  errno_t ret;
  uint32_t timeout;
  uint32_t reg;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  unsigned int _4;
  volatile uint32_t * _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;
  unsigned int _13;
  volatile uint32_t * _14;
  long unsigned int _15;
  long unsigned int _16;

  <bb 2> [local count: 69202660]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG timeout => 500
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _1 = (long unsigned int) val_20(D);
  _2 = (long unsigned int) ra_21(D);
  _3 = _2 << 16;
  reg_22 = _1 | _3;
  # DEBUG reg => reg_22
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = base_va_23(D) + 516;
  _5 = (volatile uint32_t *) _4;
  *_5 ={v} reg_22;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = (long unsigned int) dev_26(D);
  _7 = _6 << 16;
  _8 = _7 & 2031616;
  _9 = (long unsigned int) pa_27(D);
  _10 = _9 << 21;
  _11 = _10 & 65011712;
  _12 = _8 | _11;
  reg_28 = _12 | 1543;
  # DEBUG reg => reg_28
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _13 = base_va_23(D) + 512;
  _14 = (volatile uint32_t *) _13;
  *_14 ={v} reg_28;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  timeout_30 = timeout_17 + 4294967295;
  # DEBUG timeout => timeout_30
  if (timeout_17 == 0)
    goto <bb 6>; [1.00%]
  else
    goto <bb 4>; [99.00%]

  <bb 4> [local count: 1004539164]:
  # DEBUG BEGIN_STMT
  oal_time_usleep (10);

  <bb 5> [local count: 1073741824]:
  # timeout_17 = PHI <500(2), timeout_30(4)>
  # DEBUG timeout => timeout_17
  # DEBUG BEGIN_STMT
  _15 ={v} *_14;
  _16 = _15 & 1;
  if (_16 != 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 6>; [5.50%]

  <bb 6> [local count: 69202661]:
  # ret_18 = PHI <62(3), 0(5)>
  # DEBUG ret => ret_18
  # DEBUG BEGIN_STMT
  return ret_18;

}


pfe_emac_cfg_mdio_write22 (addr_t base_va, uint8_t pa, uint8_t ra, uint16_t val)
{
  errno_t ret;
  uint32_t timeout;
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  unsigned int _10;
  volatile uint32_t * _11;
  long unsigned int _12;
  long unsigned int _13;

  <bb 2> [local count: 69202660]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG timeout => 500
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  reg_18 = (uint32_t) val_17(D);
  # DEBUG reg => reg_18
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_19(D) + 516;
  _2 = (volatile uint32_t *) _1;
  *_2 ={v} reg_18;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = (long unsigned int) ra_22(D);
  _4 = _3 << 16;
  _5 = _4 & 2031616;
  _6 = (long unsigned int) pa_23(D);
  _7 = _6 << 21;
  _8 = _7 & 65011712;
  _9 = _5 | _8;
  reg_24 = _9 | 1541;
  # DEBUG reg => reg_24
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = base_va_19(D) + 512;
  _11 = (volatile uint32_t *) _10;
  *_11 ={v} reg_24;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  timeout_26 = timeout_14 + 4294967295;
  # DEBUG timeout => timeout_26
  if (timeout_14 == 0)
    goto <bb 6>; [1.00%]
  else
    goto <bb 4>; [99.00%]

  <bb 4> [local count: 1004539164]:
  # DEBUG BEGIN_STMT
  oal_time_usleep (10);

  <bb 5> [local count: 1073741824]:
  # timeout_14 = PHI <500(2), timeout_26(4)>
  # DEBUG timeout => timeout_14
  # DEBUG BEGIN_STMT
  _12 ={v} *_11;
  _13 = _12 & 1;
  if (_13 != 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 6>; [5.50%]

  <bb 6> [local count: 69202661]:
  # ret_15 = PHI <62(3), 0(5)>
  # DEBUG ret => ret_15
  # DEBUG BEGIN_STMT
  return ret_15;

}


pfe_emac_cfg_mdio_read45 (addr_t base_va, uint8_t pa, uint8_t dev, uint16_t ra, uint16_t * val)
{
  errno_t ret;
  uint32_t timeout;
  uint32_t reg;
  long unsigned int _1;
  unsigned int _2;
  volatile uint32_t * _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned int _11;
  volatile uint32_t * _12;
  long unsigned int _13;
  long unsigned int _14;
  short unsigned int _15;

  <bb 2> [local count: 69202660]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG timeout => 500
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _1 = (long unsigned int) ra_20(D);
  reg_21 = _1 << 16;
  # DEBUG reg => reg_21
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = base_va_22(D) + 516;
  _3 = (volatile uint32_t *) _2;
  *_3 ={v} reg_21;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = (long unsigned int) dev_25(D);
  _5 = _4 << 16;
  _6 = _5 & 2031616;
  _7 = (long unsigned int) pa_26(D);
  _8 = _7 << 21;
  _9 = _8 & 65011712;
  _10 = _6 | _9;
  reg_27 = _10 | 1551;
  # DEBUG reg => reg_27
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _11 = base_va_22(D) + 512;
  _12 = (volatile uint32_t *) _11;
  *_12 ={v} reg_27;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  timeout_29 = timeout_16 + 4294967295;
  # DEBUG timeout => timeout_29
  if (timeout_16 == 0)
    goto <bb 6>; [1.00%]
  else
    goto <bb 4>; [99.00%]

  <bb 4> [local count: 1004539164]:
  # DEBUG BEGIN_STMT
  oal_time_usleep (10);

  <bb 5> [local count: 1073741824]:
  # timeout_16 = PHI <500(2), timeout_29(4)>
  # DEBUG timeout => timeout_16
  # DEBUG BEGIN_STMT
  _13 ={v} *_12;
  _14 = _13 & 1;
  if (_14 != 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 6>; [5.50%]

  <bb 6> [local count: 69202661]:
  # ret_17 = PHI <62(3), 0(5)>
  # DEBUG ret => ret_17
  # DEBUG BEGIN_STMT
  if (ret_17 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 34601330]:
  # DEBUG BEGIN_STMT
  reg_31 ={v} *_3;
  # DEBUG reg => reg_31
  # DEBUG BEGIN_STMT
  _15 = (short unsigned int) reg_31;
  *val_32(D) = _15;

  <bb 8> [local count: 69202661]:
  # DEBUG BEGIN_STMT
  return ret_17;

}


pfe_emac_cfg_mdio_read22 (addr_t base_va, uint8_t pa, uint8_t ra, uint16_t * val)
{
  errno_t ret;
  uint32_t timeout;
  uint32_t reg;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  unsigned int _8;
  volatile uint32_t * _9;
  long unsigned int _10;
  unsigned int _11;
  volatile uint32_t * _12;
  short unsigned int _13;

  <bb 2> [local count: 69202660]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG timeout => 500
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _1 = (long unsigned int) ra_19(D);
  _2 = _1 << 16;
  _3 = _2 & 2031616;
  _4 = (long unsigned int) pa_20(D);
  _5 = _4 << 21;
  _6 = _5 & 65011712;
  _7 = _3 | _6;
  reg_21 = _7 | 1549;
  # DEBUG reg => reg_21
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _8 = base_va_22(D) + 512;
  _9 = (volatile uint32_t *) _8;
  *_9 ={v} reg_21;

  <bb 3> [local count: 1073741824]:
  # timeout_14 = PHI <500(2), timeout_26(8)>
  # DEBUG timeout => timeout_14
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  reg_25 ={v} *_9;
  # DEBUG reg => reg_25
  # DEBUG BEGIN_STMT
  if (timeout_14 == 0)
    goto <bb 5>; [1.00%]
  else
    goto <bb 4>; [99.00%]

  <bb 4> [local count: 1063004405]:
  # DEBUG BEGIN_STMT
  timeout_26 = timeout_14 + 4294967295;
  # DEBUG timeout => timeout_26
  # DEBUG BEGIN_STMT
  oal_time_usleep (10);
  # DEBUG BEGIN_STMT
  _10 = reg_25 & 1;
  if (_10 != 0)
    goto <bb 8>; [94.50%]
  else
    goto <bb 5>; [5.50%]

  <bb 8> [local count: 1004539164]:
  goto <bb 3>; [100.00%]

  <bb 5> [local count: 69202660]:
  # ret_15 = PHI <62(3), 0(4)>
  # DEBUG ret => ret_15
  # DEBUG BEGIN_STMT
  if (ret_15 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 34601330]:
  # DEBUG BEGIN_STMT
  _11 = base_va_22(D) + 516;
  _12 = (volatile uint32_t *) _11;
  reg_28 ={v} *_12;
  # DEBUG reg => reg_28
  # DEBUG BEGIN_STMT
  _13 = (short unsigned int) reg_28;
  *val_29(D) = _13;

  <bb 7> [local count: 69202660]:
  # DEBUG BEGIN_STMT
  return ret_15;

}


pfe_emac_cfg_set_rx_flow_control (addr_t base_va, bool_t en)
{
  int32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int reg.28_4;
  long unsigned int _5;
  long unsigned int iftmp.27_6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_7(D) + 144;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_9 = (int32_t) _3;
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  reg_10 = reg_9 & -2;
  # DEBUG reg => reg_10
  # DEBUG BEGIN_STMT
  if (en_11(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.27_6 = PHI <1(2), 0(3)>
  reg.28_4 = (long unsigned int) reg_10;
  _5 = reg.28_4 | iftmp.27_6;
  # DEBUG reg => (int32_t) _5
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} _5;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_tx_flow_control (addr_t base_va, bool_t en)
{
  uint32_t ii;
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int iftmp.26_7;
  volatile uint32_t * _19;

  <bb 2> [local count: 160524402]:
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0

  <bb 3> [local count: 1073741824]:
  # ii_6 = PHI <0(2), ii_14(10)>
  # DEBUG ii => ii_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_11(D) + 112;
  _2 = (volatile uint32_t *) _1;
  reg_12 ={v} *_2;
  # DEBUG reg => reg_12
  # DEBUG BEGIN_STMT
  oal_time_usleep (100);
  # DEBUG BEGIN_STMT
  ii_14 = ii_6 + 1;
  # DEBUG ii => ii_14
  # DEBUG BEGIN_STMT
  _3 = reg_12 & 1;
  if (_3 != 0)
    goto <bb 4>; [94.50%]
  else
    goto <bb 5>; [5.50%]

  <bb 4> [local count: 1014686025]:
  if (ii_14 != 10)
    goto <bb 10>; [90.00%]
  else
    goto <bb 5>; [10.00%]

  <bb 10> [local count: 913217422]:
  goto <bb 3>; [100.00%]

  <bb 5> [local count: 160524403]:
  # _19 = PHI <_2(3), _2(4)>
  # reg_4 = PHI <reg_12(3), reg_12(4)>
  # ii_5 = PHI <ii_14(3), ii_14(4)>
  # DEBUG BEGIN_STMT
  if (ii_5 == 10)
    goto <bb 9>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 6> [local count: 105946106]:
  # DEBUG BEGIN_STMT
  reg_15 = reg_4 & 4294967293;
  # DEBUG reg => reg_15
  # DEBUG BEGIN_STMT
  if (en_16(D) != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 52973053]:

  <bb 8> [local count: 105946106]:
  # iftmp.26_7 = PHI <2(6), 0(7)>
  reg_17 = iftmp.26_7 | reg_15;
  # DEBUG reg => reg_17
  # DEBUG BEGIN_STMT
  reg_18 = reg_17 | 4026531840;
  # DEBUG reg => reg_18
  # DEBUG BEGIN_STMT
  # DEBUG reg => reg_18
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_19 ={v} reg_18;

  <bb 9> [local count: 160524403]:
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_get_rx_flow_control (addr_t base_va, bool_t * en)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  _Bool _3;
  unsigned char _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_5(D) + 144;
  _2 = (volatile uint32_t *) _1;
  reg_7 ={v} *_2;
  # DEBUG reg => reg_7
  # DEBUG BEGIN_STMT
  _3 = (_Bool) reg_7;
  _4 = (unsigned char) _3;
  *en_8(D) = _4;
  return;

}


pfe_emac_cfg_get_tx_flow_control (addr_t base_va, bool_t * en)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  _Bool _4;
  unsigned char _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_6(D) + 112;
  _2 = (volatile uint32_t *) _1;
  reg_8 ={v} *_2;
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT
  _3 = reg_8 & 2;
  _4 = _3 != 0;
  _5 = (unsigned char) _4;
  *en_9(D) = _5;
  return;

}


pfe_emac_cfg_set_enable (addr_t base_va, bool_t en)
{
  uint32_t reg;
  volatile uint32_t * base_va.22_1;
  long unsigned int _2;
  long unsigned int iftmp.23_3;
  long unsigned int iftmp.24_4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  base_va.22_1 = (volatile uint32_t *) base_va_5(D);
  reg_7 ={v} *base_va.22_1;
  # DEBUG reg => reg_7
  # DEBUG BEGIN_STMT
  reg_8 = reg_7 & 4294967292;
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT
  if (en_9(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.23_3 = PHI <2(2), 0(3)>
  if (en_9(D) != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 536870913]:

  <bb 6> [local count: 1073741824]:
  # iftmp.24_4 = PHI <1(4), 0(5)>
  _2 = iftmp.23_3 | iftmp.24_4;
  reg_10 = _2 | reg_8;
  # DEBUG reg => reg_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *base_va.22_1 ={v} reg_10;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_broadcast (addr_t base_va, bool_t en)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int iftmp.21_4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_5(D) + 8;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_7 = _3 & 4294967263;
  # DEBUG reg => reg_7
  # DEBUG BEGIN_STMT
  if (en_8(D) == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.21_4 = PHI <32(2), 0(3)>
  reg_9 = iftmp.21_4 | reg_7;
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} reg_9;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_allmulti_mode (addr_t base_va, bool_t en)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int iftmp.20_4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_5(D) + 8;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_7 = _3 & 4294967279;
  # DEBUG reg => reg_7
  # DEBUG BEGIN_STMT
  if (en_8(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.20_4 = PHI <16(2), 0(3)>
  reg_9 = iftmp.20_4 | reg_7;
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} reg_9;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_promisc_mode (addr_t base_va, bool_t en)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int iftmp.19_4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_5(D) + 8;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_7 = _3 & 4294967294;
  # DEBUG reg => reg_7
  # DEBUG BEGIN_STMT
  if (en_8(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.19_4 = PHI <1(2), 0(3)>
  reg_9 = iftmp.19_4 | reg_7;
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} reg_9;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_loopback (addr_t base_va, bool_t en)
{
  uint32_t reg;
  volatile uint32_t * base_va.16_1;
  long unsigned int _2;
  long unsigned int iftmp.17_3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  base_va.16_1 = (volatile uint32_t *) base_va_4(D);
  _2 ={v} *base_va.16_1;
  reg_6 = _2 & 4294963199;
  # DEBUG reg => reg_6
  # DEBUG BEGIN_STMT
  if (en_7(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.17_3 = PHI <4096(2), 0(3)>
  reg_8 = iftmp.17_3 | reg_6;
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *base_va.16_1 ={v} reg_8;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_hash_group (addr_t base_va, uint32_t hash, bool_t en)
{
  uint8_t pos;
  uint32_t val;
  uint32_t reg;
  unsigned char _1;
  unsigned int _2;
  unsigned int _3;
  unsigned int _4;
  unsigned int _5;
  volatile uint32_t * _6;
  int _7;
  long unsigned int _8;
  int _9;
  long unsigned int _10;
  long unsigned int _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  val_15 = hash_14(D) >> 26;
  # DEBUG val => val_15
  # DEBUG BEGIN_STMT
  _1 = (unsigned char) val_15;
  _2 = hash_14(D) >> 31;
  # DEBUG hash_table_idx => (unsigned char) _2
  # DEBUG BEGIN_STMT
  pos_16 = _1 & 31;
  # DEBUG pos => pos_16
  # DEBUG BEGIN_STMT
  _3 = _2 + 4;
  _4 = _3 * 4;
  _5 = _4 + base_va_17(D);
  _6 = (volatile uint32_t *) _5;
  reg_19 ={v} *_6;
  # DEBUG reg => reg_19
  # DEBUG BEGIN_STMT
  # DEBUG old_reg => reg_19
  # DEBUG BEGIN_STMT
  if (en_20(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _7 = (int) pos_16;
  _8 = 1 << _7;
  reg_22 = _8 | reg_19;
  # DEBUG reg => reg_22
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _9 = (int) pos_16;
  _10 = 1 << _9;
  _11 = ~_10;
  reg_21 = _11 & reg_19;
  # DEBUG reg => reg_21

  <bb 5> [local count: 1073741824]:
  # reg_12 = PHI <reg_22(3), reg_21(4)>
  # DEBUG reg => reg_12
  # DEBUG BEGIN_STMT
  if (reg_12 != reg_19)
    goto <bb 6>; [48.88%]
  else
    goto <bb 7>; [51.12%]

  <bb 6> [local count: 524845004]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_6 ={v} reg_12;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  oal_time_udelay (10);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_6 ={v} reg_12;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_get_hash (addr_t base_va, const uint8_t * addr)
{
  uint32_t _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = crc32_reversed (addr_2(D), 6);
  return _3;

}


pfe_emac_cfg_write_addr_slot (addr_t base_va, const uint8_t * addr, uint8_t slot)
{
  uint32_t top;
  uint32_t bottom;
  unsigned char _1;
  long unsigned int _2;
  long unsigned int _3;
  unsigned char _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  unsigned char _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  unsigned char _12;
  long unsigned int _13;
  unsigned char _14;
  long unsigned int _15;
  long unsigned int _16;
  unsigned char _17;
  long unsigned int _18;
  unsigned int _19;
  unsigned int _20;
  unsigned int _21;
  unsigned int _22;
  volatile uint32_t * _23;
  unsigned int _24;
  unsigned int _25;
  unsigned int _26;
  volatile uint32_t * _27;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = MEM[(const uint8_t *)addr_29(D) + 3B];
  _2 = (long unsigned int) _1;
  _3 = _2 << 24;
  _4 = MEM[(const uint8_t *)addr_29(D) + 2B];
  _5 = (long unsigned int) _4;
  _6 = _5 << 16;
  _7 = _3 | _6;
  _8 = MEM[(const uint8_t *)addr_29(D) + 1B];
  _9 = (long unsigned int) _8;
  _10 = _9 << 8;
  _11 = _7 | _10;
  _12 = *addr_29(D);
  _13 = (long unsigned int) _12;
  bottom_31 = _11 | _13;
  # DEBUG bottom => bottom_31
  # DEBUG BEGIN_STMT
  _14 = MEM[(const uint8_t *)addr_29(D) + 5B];
  _15 = (long unsigned int) _14;
  _16 = _15 << 8;
  _17 = MEM[(const uint8_t *)addr_29(D) + 4B];
  _18 = (long unsigned int) _17;
  top_32 = _16 | _18;
  # DEBUG top => top_32
  # DEBUG BEGIN_STMT
  if (top_32 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  if (bottom_31 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 805306369]:
  # DEBUG BEGIN_STMT
  top_33 = top_32 | 2147483648;
  # DEBUG top => top_33

  <bb 5> [local count: 1073741824]:
  # top_28 = PHI <0(3), top_33(4)>
  # DEBUG top => top_28
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _19 = (unsigned int) slot_34(D);
  _20 = _19 + 96;
  _21 = _20 * 8;
  _22 = _21 + base_va_35(D);
  _23 = (volatile uint32_t *) _22;
  *_23 ={v} top_28;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _24 = _19 * 8;
  _25 = _24 + base_va_35(D);
  _26 = _25 + 772;
  _27 = (volatile uint32_t *) _26;
  *_27 ={v} bottom_31;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  oal_time_udelay (10);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_27 ={v} bottom_31;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_set_max_frame_length (addr_t base_va, uint32_t len)
{
  errno_t ret;
  uint32_t maxlen;
  uint32_t reg;
  volatile uint32_t * base_va.14_1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  unsigned int _5;
  volatile uint32_t * _6;
  long unsigned int _7;
  unsigned int _8;
  volatile uint32_t * _9;
  unsigned int _10;
  volatile uint32_t * _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG maxlen => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_va.14_1 = (volatile uint32_t *) base_va_20(D);
  reg_22 ={v} *base_va.14_1;
  # DEBUG reg => reg_22
  # DEBUG BEGIN_STMT
  _2 = reg_22 & 65536;
  # DEBUG D#4 => _2 != 0
  # DEBUG je => (bool_t) D#4
  # DEBUG BEGIN_STMT
  _3 = reg_22 & 4194304;
  # DEBUG D#3 => _3 != 0
  # DEBUG s2kp => (bool_t) D#3
  # DEBUG BEGIN_STMT
  _4 = reg_22 & 8388608;
  # DEBUG D#2 => _4 != 0
  # DEBUG gpslce => (bool_t) D#2
  # DEBUG BEGIN_STMT
  _5 = base_va_20(D) + 80;
  _6 = (volatile uint32_t *) _5;
  reg_23 ={v} *_6;
  # DEBUG reg => reg_23
  # DEBUG BEGIN_STMT
  _7 = reg_23 & 67108864;
  # DEBUG D#1 => _7 != 0
  # DEBUG edvlp => (bool_t) D#1
  # DEBUG BEGIN_STMT
  if (_2 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870913]:
  if (_7 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG maxlen => 9026

  <bb 5> [local count: 1073741824]:
  # maxlen_12 = PHI <0(2), 0(3), 9026(4)>
  # DEBUG maxlen => maxlen_12
  # DEBUG BEGIN_STMT
  if (_2 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 536870913]:
  if (_3 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG maxlen => 2000

  <bb 8> [local count: 1073741824]:
  # maxlen_13 = PHI <maxlen_12(5), maxlen_12(6), 2000(7)>
  # DEBUG maxlen => maxlen_13
  # DEBUG BEGIN_STMT
  if (_2 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 9> [local count: 536870913]:
  if (_3 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 10> [local count: 268435456]:
  if (_4 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 11> [local count: 134217728]:
  if (_7 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 67108864]:
  # DEBUG BEGIN_STMT
  _8 = base_va_20(D) + 4;
  _9 = (volatile uint32_t *) _8;
  reg_24 ={v} *_9;
  # DEBUG reg => reg_24
  # DEBUG BEGIN_STMT
  maxlen_25 = reg_24 & 16383;
  # DEBUG maxlen => maxlen_25
  # DEBUG BEGIN_STMT
  maxlen_26 = maxlen_25 + 8;
  # DEBUG maxlen => maxlen_26

  <bb 13> [local count: 1073741824]:
  # maxlen_14 = PHI <maxlen_13(8), maxlen_13(9), maxlen_13(10), maxlen_13(11), maxlen_26(12)>
  # DEBUG maxlen => maxlen_14
  # DEBUG BEGIN_STMT
  if (_2 == 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 14> [local count: 536870913]:
  if (_3 == 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 15> [local count: 268435456]:
  if (_4 == 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 16> [local count: 134217728]:
  if (_7 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 17> [local count: 67108864]:
  # DEBUG BEGIN_STMT
  # DEBUG maxlen => 1526

  <bb 18> [local count: 1073741824]:
  # maxlen_15 = PHI <maxlen_14(13), maxlen_14(14), maxlen_14(15), maxlen_14(16), 1526(17)>
  # DEBUG maxlen => maxlen_15
  # DEBUG BEGIN_STMT
  if (_2 != 0)
    goto <bb 19>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 19> [local count: 536870913]:
  if (_7 == 0)
    goto <bb 20>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 20> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG maxlen => 9022

  <bb 21> [local count: 1073741824]:
  # maxlen_16 = PHI <maxlen_15(18), maxlen_15(19), 9022(20)>
  # DEBUG maxlen => maxlen_16
  # DEBUG BEGIN_STMT
  if (_2 == 0)
    goto <bb 22>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 22> [local count: 536870913]:
  if (_3 == 0)
    goto <bb 23>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 23> [local count: 268435456]:
  if (_4 != 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 24> [local count: 134217728]:
  if (_7 == 0)
    goto <bb 25>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 25> [local count: 67108864]:
  # DEBUG BEGIN_STMT
  _10 = base_va_20(D) + 4;
  _11 = (volatile uint32_t *) _10;
  reg_27 ={v} *_11;
  # DEBUG reg => reg_27
  # DEBUG BEGIN_STMT
  maxlen_28 = reg_27 & 16383;
  # DEBUG maxlen => maxlen_28
  # DEBUG BEGIN_STMT
  maxlen_29 = maxlen_28 + 4;
  # DEBUG maxlen => maxlen_29

  <bb 26> [local count: 1073741824]:
  # maxlen_17 = PHI <maxlen_16(21), maxlen_16(22), maxlen_16(23), maxlen_16(24), maxlen_29(25)>
  # DEBUG maxlen => maxlen_17
  # DEBUG BEGIN_STMT
  if (_2 == 0)
    goto <bb 27>; [50.00%]
  else
    goto <bb 31>; [50.00%]

  <bb 27> [local count: 536870913]:
  if (_3 == 0)
    goto <bb 28>; [50.00%]
  else
    goto <bb 31>; [50.00%]

  <bb 28> [local count: 268435456]:
  if (_4 == 0)
    goto <bb 29>; [50.00%]
  else
    goto <bb 31>; [50.00%]

  <bb 29> [local count: 134217728]:
  if (_7 == 0)
    goto <bb 30>; [50.00%]
  else
    goto <bb 31>; [50.00%]

  <bb 30> [local count: 67108864]:
  # DEBUG BEGIN_STMT
  # DEBUG maxlen => 1522

  <bb 31> [local count: 1073741824]:
  # maxlen_18 = PHI <maxlen_17(26), maxlen_17(27), maxlen_17(28), maxlen_17(29), 1522(30)>
  # DEBUG maxlen => maxlen_18
  # DEBUG BEGIN_STMT
  if (maxlen_18 < len_30(D))
    goto <bb 33>; [35.00%]
  else
    goto <bb 32>; [65.00%]

  <bb 32> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 33> [local count: 1073741824]:
  # ret_19 = PHI <22(31), 0(32)>
  # DEBUG ret => ret_19
  # DEBUG BEGIN_STMT
  return ret_19;

}


pfe_emac_cfg_get_link_status (addr_t base_va, pfe_emac_link_speed_t * link_speed, pfe_emac_duplex_t * duplex, bool_t * link)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  _Bool _9;
  unsigned char _10;
  <unnamed type> _20;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = base_va_12(D) + 248;
  _2 = (volatile uint32_t *) _1;
  reg_14 ={v} *_2;
  # DEBUG reg => reg_14
  # DEBUG BEGIN_STMT
  _3 = reg_14 >> 17;
  _4 = _3 & 3;
  switch (_4) <default: <L3> [25.00%], case 1: <L0> [25.00%], case 2: <L1> [25.00%], case 3: <L2> [25.00%]>

  <bb 3> [local count: 268435456]:
<L0>:
  # DEBUG BEGIN_STMT
  *link_speed_15(D) = 2;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 268435456]:
<L1>:
  # DEBUG BEGIN_STMT
  *link_speed_15(D) = 3;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 268435456]:
<L2>:
  # DEBUG BEGIN_STMT
  *link_speed_15(D) = 0;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 268435456]:
<L3>:
  # DEBUG BEGIN_STMT
  *link_speed_15(D) = 1;
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _5 = reg_14 >> 16;
  _6 = _5 & 1;
  _8 = _6 + 1;
  _20 = (<unnamed type>) _8;
  *duplex_21(D) = _20;
  # DEBUG BEGIN_STMT
  _7 = reg_14 >> 19;
  _9 = (_Bool) _7;
  _10 = (unsigned char) _9;
  *link_23(D) = _10;
  # DEBUG BEGIN_STMT
  return 0;

}


pfe_emac_cfg_get_link_config (addr_t base_va, pfe_emac_speed_t * speed, pfe_emac_duplex_t * duplex)
{
  uint32_t reg;
  volatile uint32_t * base_va.11_1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _15;
  <unnamed type> _16;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  base_va.11_1 = (volatile uint32_t *) base_va_7(D);
  reg_9 ={v} *base_va.11_1;
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  _2 = reg_9 >> 14;
  _3 = _2 & 3;
  switch (_3) <default: <L3> [25.00%], case 1: <L0> [25.00%], case 2: <L1> [25.00%], case 3: <L2> [25.00%]>

  <bb 3> [local count: 268435456]:
<L0>:
  # DEBUG BEGIN_STMT
  *speed_10(D) = 4;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 268435456]:
<L1>:
  # DEBUG BEGIN_STMT
  *speed_10(D) = 1;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 268435456]:
<L2>:
  # DEBUG BEGIN_STMT
  *speed_10(D) = 2;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 268435456]:
<L3>:
  # DEBUG BEGIN_STMT
  *speed_10(D) = 3;
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _4 = reg_9 >> 13;
  _5 = _4 & 1;
  _15 = _5 + 1;
  _16 = (<unnamed type>) _15;
  *duplex_17(D) = _16;
  # DEBUG BEGIN_STMT
  return 0;

}


pfe_emac_cfg_set_speed (addr_t base_va, pfe_emac_speed_t speed)
{
  errno_t ret;
  uint32_t reg;
  volatile uint32_t * base_va.9_1;
  long unsigned int _2;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  base_va.9_1 = (volatile uint32_t *) base_va_4(D);
  _2 ={v} *base_va.9_1;
  reg_6 = _2 & 4294918143;
  # DEBUG reg => reg_6
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  switch (speed_7(D)) <default: <L11> [20.00%], case 1: <L0> [20.00%], case 2: <L1> [20.00%], case 3: <L12> [20.00%], case 4: <L3> [20.00%]>

  <bb 3> [local count: 214748364]:
<L0>:
  # DEBUG BEGIN_STMT
  reg_10 = reg_6 | 32768;
  # DEBUG reg => reg_10
  # DEBUG BEGIN_STMT
  # DEBUG reg => reg_10
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG reg => reg_10
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 214748364]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG reg => reg_6 | 32768
  # DEBUG BEGIN_STMT
  reg_9 = reg_6 | 49152;
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG reg => reg_9
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 214748364]:
<L3>:
  # DEBUG BEGIN_STMT
  # DEBUG reg => reg_6
  # DEBUG BEGIN_STMT
  reg_8 = reg_6 | 16384;
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 858993459]:
  # reg_12 = PHI <reg_9(4), reg_10(3), reg_8(5), reg_6(2)>
<L12>:
  # DEBUG ret => NULL
  # DEBUG reg => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *base_va.9_1 ={v} reg_12;

  <bb 7> [local count: 1073741824]:
  # ret_13 = PHI <22(2), 0(6)>
<L11>:
  # DEBUG ret => NULL
  # DEBUG reg => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_13;

}


pfe_emac_cfg_set_mii_mode (addr_t base_va, pfe_emac_mii_mode_t mode)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return 0;

}


pfe_emac_cfg_set_duplex (addr_t base_va, pfe_emac_duplex_t duplex)
{
  errno_t ret;
  uint32_t reg;
  volatile uint32_t * base_va.7_1;
  long unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  base_va.7_1 = (volatile uint32_t *) base_va_4(D);
  _2 ={v} *base_va.7_1;
  reg_6 = _2 & 4294959103;
  # DEBUG reg => reg_6
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  switch (duplex_7(D)) <default: <L9> [33.33%], case 1: <L10> [33.33%], case 2: <L1> [33.33%]>

  <bb 3> [local count: 357878150]:
<L1>:
  # DEBUG BEGIN_STMT
  reg_8 = reg_6 | 8192;
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT

  <bb 4> [local count: 715756301]:
  # reg_10 = PHI <reg_8(3), reg_6(2)>
<L10>:
  # DEBUG ret => NULL
  # DEBUG reg => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *base_va.7_1 ={v} reg_10;

  <bb 5> [local count: 1073634451]:
  # ret_11 = PHI <22(2), 0(4)>
<L9>:
  # DEBUG ret => NULL
  # DEBUG reg => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_11;

}


pfe_emac_cfg_tx_disable (addr_t base_va)
{
  unsigned int _1;
  volatile uint32_t * _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_3(D) + 2816;
  _2 = (volatile uint32_t *) _1;
  *_2 ={v} 0;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_adjust_ts_time (addr_t base_va, uint32_t sec, uint32_t nsec, bool_t sgn)
{
  errno_t ret;
  int32_t sec_temp;
  uint32_t nsec_temp;
  uint32_t ii;
  uint32_t regval;
  signed int nsec_temp.4_1;
  unsigned int _2;
  volatile uint32_t * _3;
  long unsigned int _4;
  long unsigned int _5;
  unsigned int _6;
  volatile uint32_t * _7;
  long unsigned int sec_temp.5_8;
  unsigned int _9;
  volatile uint32_t * _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int iftmp.6_18;

  <bb 2> [local count: 252003215]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG nsec_temp => nsec_21(D)
  # DEBUG BEGIN_STMT
  sec_temp_24 = (int32_t) sec_23(D);
  # DEBUG sec_temp => sec_temp_24
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  nsec_temp.4_1 = (signed int) nsec_21(D);
  if (nsec_temp.4_1 < 0)
    goto <bb 18>; [27.23%]
  else
    goto <bb 3>; [72.77%]

  <bb 3> [local count: 183382740]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _2 = base_va_25(D) + 2816;
  _3 = (volatile uint32_t *) _2;
  regval_27 ={v} *_3;
  # DEBUG regval => regval_27
  # DEBUG BEGIN_STMT
  if (sgn_28(D) == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 4> [local count: 91691370]:
  # DEBUG BEGIN_STMT
  _4 = regval_27 & 512;
  if (_4 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 45845685]:
  # DEBUG BEGIN_STMT
  nsec_temp_30 = 1000000000 - nsec_21(D);
  # DEBUG nsec_temp => nsec_temp_30
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 45845685]:
  # DEBUG BEGIN_STMT
  nsec_temp_29 = 2147483648 - nsec_21(D);
  # DEBUG nsec_temp => nsec_temp_29

  <bb 7> [local count: 91691370]:
  # nsec_temp_14 = PHI <nsec_temp_30(5), nsec_temp_29(6)>
  # DEBUG nsec_temp => nsec_temp_14
  # DEBUG BEGIN_STMT
  sec_temp_31 = -sec_temp_24;
  # DEBUG sec_temp => sec_temp_31

  <bb 8> [local count: 183382740]:
  # nsec_temp_15 = PHI <nsec_21(D)(3), nsec_temp_14(7)>
  # sec_temp_16 = PHI <sec_temp_24(3), sec_temp_31(7)>
  # DEBUG sec_temp => sec_temp_16
  # DEBUG nsec_temp => nsec_temp_15
  # DEBUG BEGIN_STMT
  _5 = regval_27 & 512;
  if (_5 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 91691370]:
  # DEBUG BEGIN_STMT
  if (nsec_temp_15 > 999999999)
    goto <bb 18>; [35.00%]
  else
    goto <bb 10>; [65.00%]

  <bb 10> [local count: 151290760]:
  # DEBUG ret => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = base_va_25(D) + 2832;
  _7 = (volatile uint32_t *) _6;
  sec_temp.5_8 = (long unsigned int) sec_temp_16;
  *_7 ={v} sec_temp.5_8;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (sgn_28(D) == 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 75645380]:

  <bb 12> [local count: 151290760]:
  # iftmp.6_18 = PHI <2147483648(10), 0(11)>
  _9 = base_va_25(D) + 2836;
  _10 = (volatile uint32_t *) _9;
  _11 = nsec_temp_15 | iftmp.6_18;
  *_10 ={v} _11;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_34 ={v} *_3;
  # DEBUG regval => regval_34
  # DEBUG BEGIN_STMT
  regval_35 = regval_34 | 8;
  # DEBUG regval => regval_35
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_3 ={v} regval_35;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0

  <bb 13> [local count: 1073741824]:
  # ii_13 = PHI <0(12), ii_39(15)>
  # DEBUG ii => ii_13
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_37 ={v} *_3;
  # DEBUG regval => regval_37
  # DEBUG BEGIN_STMT
  oal_time_usleep (100);
  # DEBUG BEGIN_STMT
  _12 = regval_37 & 8;
  if (_12 != 0)
    goto <bb 14>; [94.50%]
  else
    goto <bb 16>; [5.50%]

  <bb 14> [local count: 1014686024]:
  if (ii_13 != 10)
    goto <bb 15>; [90.91%]
  else
    goto <bb 16>; [9.09%]

  <bb 15> [local count: 922451065]:
  # DEBUG BEGIN_STMT
  ii_39 = ii_13 + 1;
  # DEBUG ii => ii_39
  # DEBUG BEGIN_STMT
  goto <bb 13>; [100.00%]

  <bb 16> [local count: 151290760]:
  # ii_22 = PHI <ii_13(13), ii_13(14)>
  # DEBUG BEGIN_STMT
  if (ii_22 == 10)
    goto <bb 17>; [21.72%]
  else
    goto <bb 18>; [78.28%]

  <bb 17> [local count: 32860353]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 62

  <bb 18> [local count: 252003215]:
  # ret_17 = PHI <22(2), 22(9), 0(16), 62(17)>
  # DEBUG ret => ret_17
  # DEBUG BEGIN_STMT
  return ret_17;

}


pfe_emac_cfg_set_ts_time (addr_t base_va, uint32_t sec, uint32_t nsec, uint16_t sec_hi)
{
  errno_t ret;
  uint32_t ii;
  uint32_t regval;
  signed int nsec.3_1;
  unsigned int _2;
  volatile uint32_t * _3;
  unsigned int _4;
  volatile uint32_t * _5;
  unsigned int _6;
  volatile uint32_t * _7;
  long unsigned int _8;
  unsigned int _9;
  volatile uint32_t * _10;
  long unsigned int _12;

  <bb 2> [local count: 207902652]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  nsec.3_1 = (signed int) nsec_17(D);
  if (nsec.3_1 < 0)
    goto <bb 9>; [27.23%]
  else
    goto <bb 3>; [72.77%]

  <bb 3> [local count: 151290760]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = base_va_18(D) + 2832;
  _3 = (volatile uint32_t *) _2;
  *_3 ={v} sec_20(D);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = base_va_18(D) + 2836;
  _5 = (volatile uint32_t *) _4;
  *_5 ={v} nsec_17(D);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = base_va_18(D) + 2844;
  _7 = (volatile uint32_t *) _6;
  _8 = (long unsigned int) sec_hi_23(D);
  *_7 ={v} _8;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _9 = base_va_18(D) + 2816;
  _10 = (volatile uint32_t *) _9;
  regval_25 ={v} *_10;
  # DEBUG regval => regval_25
  # DEBUG BEGIN_STMT
  regval_26 = regval_25 | 4;
  # DEBUG regval => regval_26
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_10 ={v} regval_26;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0

  <bb 4> [local count: 1073741824]:
  # ii_13 = PHI <0(3), ii_30(6)>
  # DEBUG ii => ii_13
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_28 ={v} *_10;
  # DEBUG regval => regval_28
  # DEBUG BEGIN_STMT
  oal_time_usleep (100);
  # DEBUG BEGIN_STMT
  _12 = regval_28 & 4;
  if (_12 != 0)
    goto <bb 5>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 5> [local count: 1014686025]:
  if (ii_13 != 10)
    goto <bb 6>; [90.91%]
  else
    goto <bb 7>; [9.09%]

  <bb 6> [local count: 922451065]:
  # DEBUG BEGIN_STMT
  ii_30 = ii_13 + 1;
  # DEBUG ii => ii_30
  # DEBUG BEGIN_STMT
  goto <bb 4>; [100.00%]

  <bb 7> [local count: 151290760]:
  # ii_11 = PHI <ii_13(4), ii_13(5)>
  # DEBUG BEGIN_STMT
  if (ii_11 == 10)
    goto <bb 9>; [21.72%]
  else
    goto <bb 8>; [78.28%]

  <bb 8> [local count: 118430407]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 9> [local count: 207902652]:
  # ret_14 = PHI <22(2), 62(7), 0(8)>
  # DEBUG ret => ret_14
  # DEBUG BEGIN_STMT
  return ret_14;

}


pfe_emac_cfg_get_ts_time (addr_t base_va, uint32_t * sec, uint32_t * nsec, uint16_t * sec_hi)
{
  uint32_t sec_tmp;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  unsigned int _4;
  volatile uint32_t * _5;
  long unsigned int _6;
  unsigned int _7;
  volatile uint32_t * _8;
  long unsigned int _9;
  short unsigned int _10;
  long unsigned int _11;

  <bb 2> [local count: 118111600]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_14(D) + 2824;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  *sec_15(D) = _3;
  # DEBUG BEGIN_STMT
  _4 = base_va_14(D) + 2828;
  _5 = (volatile uint32_t *) _4;
  _6 ={v} *_5;
  *nsec_17(D) = _6;
  # DEBUG BEGIN_STMT
  _7 = base_va_14(D) + 2844;
  _8 = (volatile uint32_t *) _7;
  _9 ={v} *_8;
  _10 = (short unsigned int) _9;
  *sec_hi_19(D) = _10;
  # DEBUG BEGIN_STMT
  sec_tmp_21 ={v} *_2;
  # DEBUG sec_tmp => sec_tmp_21
  # DEBUG BEGIN_STMT
  _11 = *sec_15(D);
  if (_11 != sec_tmp_21)
    goto <bb 5>; [89.00%]
  else
    goto <bb 4>; [11.00%]

  <bb 5> [local count: 955630223]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 118111601]:
  return;

}


pfe_emac_cfg_adjust_ts_freq (addr_t base_va, uint32_t i_clk_hz, uint32_t o_clk_hz, uint32_t ppb, bool_t sgn)
{
  errno_t ret;
  uint32_t ii;
  uint32_t regval;
  uint32_t delta;
  uint32_t nil;
  long long unsigned int _1;
  long long unsigned int _2;
  long long unsigned int _3;
  long long unsigned int _4;
  long long unsigned int _6;
  long long unsigned int _7;
  long long unsigned int _8;
  long long unsigned int _9;
  unsigned int _10;
  volatile uint32_t * _11;
  unsigned int _12;
  volatile uint32_t * _13;
  long unsigned int _14;
  long unsigned int _15;
  long long unsigned int _27;
  long long unsigned int _34;

  <bb 2> [local count: 151290760]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (long long unsigned int) o_clk_hz_20(D);
  _2 = _1 << 32;
  _3 = (long long unsigned int) i_clk_hz_21(D);
  _4 = _2 / _3;
  nil_22 = (uint32_t) _4;
  # DEBUG nil => nil_22
  # DEBUG BEGIN_STMT
  _27 = _4 & 4294967295;
  _6 = (long long unsigned int) ppb_23(D);
  _7 = _6 * _27;
  _8 = _7 / 1000000000;
  delta_24 = (uint32_t) _8;
  # DEBUG delta => delta_24
  # DEBUG BEGIN_STMT
  if (sgn_25(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 75645380]:
  # DEBUG BEGIN_STMT
  _34 = _8 & 4294967295;
  _9 = _27 + _34;
  if (_9 > 4294967295)
    goto <bb 7>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 37822690]:
  # DEBUG BEGIN_STMT
  regval_28 = nil_22 + delta_24;
  # DEBUG regval => regval_28
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 75645380]:
  # DEBUG BEGIN_STMT
  if (nil_22 < delta_24)
    goto <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 37822690]:
  # DEBUG BEGIN_STMT
  regval_26 = nil_22 - delta_24;
  # DEBUG regval => regval_26

  <bb 7> [local count: 151290760]:
  # regval_16 = PHI <regval_28(4), 0(5), regval_26(6), 4294967295(3)>
  # DEBUG regval => regval_16
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = base_va_29(D) + 2840;
  _11 = (volatile uint32_t *) _10;
  *_11 ={v} regval_16;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = base_va_29(D) + 2816;
  _13 = (volatile uint32_t *) _12;
  regval_32 ={v} *_13;
  # DEBUG regval => regval_32
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _14 = regval_32 | 32;
  *_13 ={v} _14;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0

  <bb 8> [local count: 1073741824]:
  # ii_17 = PHI <0(7), ii_37(10)>
  # DEBUG ii => ii_17
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_35 ={v} *_13;
  # DEBUG regval => regval_35
  # DEBUG BEGIN_STMT
  oal_time_usleep (100);
  # DEBUG BEGIN_STMT
  _15 = regval_35 & 32;
  if (_15 != 0)
    goto <bb 9>; [94.50%]
  else
    goto <bb 11>; [5.50%]

  <bb 9> [local count: 1014686024]:
  if (ii_17 != 10)
    goto <bb 10>; [90.91%]
  else
    goto <bb 11>; [9.09%]

  <bb 10> [local count: 922451064]:
  # DEBUG BEGIN_STMT
  ii_37 = ii_17 + 1;
  # DEBUG ii => ii_37
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 11> [local count: 151290760]:
  # ii_5 = PHI <ii_17(8), ii_17(9)>
  # DEBUG BEGIN_STMT
  if (ii_5 == 10)
    goto <bb 13>; [21.72%]
  else
    goto <bb 12>; [78.28%]

  <bb 12> [local count: 118430407]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 13> [local count: 151290760]:
  # ret_18 = PHI <62(11), 0(12)>
  # DEBUG ret => ret_18
  # DEBUG BEGIN_STMT
  return ret_18;

}


pfe_emac_cfg_disable_ts (addr_t base_va)
{
  unsigned int _1;
  volatile uint32_t * _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_3(D) + 2816;
  _2 = (volatile uint32_t *) _1;
  *_2 ={v} 0;
  # DEBUG BEGIN_STMT
  return;

}


pfe_emac_cfg_enable_ts (addr_t base_va, bool_t eclk, uint32_t i_clk_hz, uint32_t o_clk_hz)
{
  errno_t ret;
  uint32_t ii;
  uint32_t regval;
  uint32_t sns;
  uint32_t ss;
  unsigned int _1;
  volatile uint32_t * _2;
  long long unsigned int _5;
  long long unsigned int _6;
  long long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  unsigned int _14;
  volatile uint32_t * _15;
  long unsigned int _16;
  long long unsigned int _17;
  long long unsigned int _18;
  long long unsigned int _19;
  unsigned int _20;
  volatile uint32_t * _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  unsigned int _25;
  volatile uint32_t * _26;
  unsigned int _27;
  volatile uint32_t * _28;
  long unsigned int _29;
  long unsigned int iftmp.2_34;

  <bb 2> [local count: 229228424]:
  # DEBUG BEGIN_STMT
  # DEBUG val => 1000000000000
  # DEBUG BEGIN_STMT
  # DEBUG ss => 0
  # DEBUG sns => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (eclk_38(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 114614212]:

  <bb 4> [local count: 229228424]:
  # iftmp.2_34 = PHI <1130243(2), 81667(3)>
  _1 = base_va_39(D) + 2816;
  _2 = (volatile uint32_t *) _1;
  *_2 ={v} iftmp.2_34;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_42 ={v} *_2;
  # DEBUG regval => regval_42
  # DEBUG BEGIN_STMT
  if (eclk_38(D) == 1)
    goto <bb 18>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 5> [local count: 151290760]:
  # DEBUG BEGIN_STMT
  _5 = (long long unsigned int) o_clk_hz_43(D);
  _6 = 1000000000 / _5;
  ss_44 = (uint32_t) _6;
  # DEBUG ss => ss_44
  # DEBUG BEGIN_STMT
  _7 = 1000000000000 / _5;
  _8 = (long unsigned int) _7;
  _9 = ss_44 * 1000;
  sns_45 = _8 - _9;
  # DEBUG sns => sns_45
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = regval_42 & 512;
  if (_10 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 75645380]:
  # DEBUG BEGIN_STMT
  ss_46 = _9 / 465;
  # DEBUG ss => ss_46

  <bb 7> [local count: 151290760]:
  # ss_30 = PHI <ss_44(5), ss_46(6)>
  # DEBUG ss => ss_30
  # DEBUG BEGIN_STMT
  _11 = sns_45 * 256;
  sns_47 = _11 / 1000;
  # DEBUG sns => sns_47
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = ss_30 << 16;
  _13 = sns_47 << 8;
  _14 = base_va_39(D) + 2820;
  _15 = (volatile uint32_t *) _14;
  _16 = _12 | _13;
  *_15 ={v} _16;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _17 = _5 << 32;
  _18 = (long long unsigned int) i_clk_hz_49(D);
  _19 = _17 / _18;
  _20 = base_va_39(D) + 2840;
  _21 = (volatile uint32_t *) _20;
  _22 = (long unsigned int) _19;
  *_21 ={v} _22;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_51 ={v} *_2;
  # DEBUG regval => regval_51
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _23 = regval_51 | 32;
  *_2 ={v} _23;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0

  <bb 8> [local count: 1073741824]:
  # ii_31 = PHI <0(7), ii_55(10)>
  # DEBUG ii => ii_31
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_53 ={v} *_2;
  # DEBUG regval => regval_53
  # DEBUG BEGIN_STMT
  oal_time_usleep (100);
  # DEBUG BEGIN_STMT
  _24 = regval_53 & 32;
  if (_24 != 0)
    goto <bb 9>; [94.50%]
  else
    goto <bb 11>; [5.50%]

  <bb 9> [local count: 1014686024]:
  if (ii_31 != 10)
    goto <bb 10>; [90.91%]
  else
    goto <bb 11>; [9.09%]

  <bb 10> [local count: 922451064]:
  # DEBUG BEGIN_STMT
  ii_55 = ii_31 + 1;
  # DEBUG ii => ii_55
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 11> [local count: 151290760]:
  # ii_3 = PHI <ii_31(8), ii_31(9)>
  # DEBUG BEGIN_STMT
  if (ii_3 == 10)
    goto <bb 18>; [21.72%]
  else
    goto <bb 12>; [78.28%]

  <bb 12> [local count: 118430407]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _25 = base_va_39(D) + 2832;
  _26 = (volatile uint32_t *) _25;
  *_26 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _27 = base_va_39(D) + 2836;
  _28 = (volatile uint32_t *) _27;
  *_28 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_58 ={v} *_2;
  # DEBUG regval => regval_58
  # DEBUG BEGIN_STMT
  regval_59 = regval_58 | 4;
  # DEBUG regval => regval_59
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} regval_59;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0

  <bb 13> [local count: 840525098]:
  # ii_32 = PHI <0(12), ii_63(15)>
  # DEBUG ii => ii_32
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  regval_61 ={v} *_2;
  # DEBUG regval => regval_61
  # DEBUG BEGIN_STMT
  oal_time_usleep (100);
  # DEBUG BEGIN_STMT
  _29 = regval_61 & 4;
  if (_29 != 0)
    goto <bb 14>; [94.50%]
  else
    goto <bb 16>; [5.50%]

  <bb 14> [local count: 794296218]:
  if (ii_32 != 10)
    goto <bb 15>; [90.91%]
  else
    goto <bb 16>; [9.09%]

  <bb 15> [local count: 722094692]:
  # DEBUG BEGIN_STMT
  ii_63 = ii_32 + 1;
  # DEBUG ii => ii_63
  # DEBUG BEGIN_STMT
  goto <bb 13>; [100.00%]

  <bb 16> [local count: 118430407]:
  # ii_4 = PHI <ii_32(13), ii_32(14)>
  # DEBUG BEGIN_STMT
  if (ii_4 == 10)
    goto <bb 17>; [21.72%]
  else
    goto <bb 18>; [78.28%]

  <bb 17> [local count: 25723084]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 62

  <bb 18> [local count: 229228424]:
  # ret_33 = PHI <0(4), 62(11), 0(16), 62(17)>
  # DEBUG ret => ret_33
  # DEBUG BEGIN_STMT
  return ret_33;

}


pfe_emac_cfg_get_index (addr_t emac_base, addr_t cbus_base)
{
  uint8_t idx;
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = emac_base_3(D) - cbus_base_4(D);
  switch (_1) <default: <L3> [25.00%], case 655360: <L6> [25.00%], case 671744: <L1> [25.00%], case 688128: <L2> [25.00%]>

  <bb 3> [local count: 268435456]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG idx => 1
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 268435456]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG idx => 2
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 268435456]:
<L3>:
  # DEBUG BEGIN_STMT
  # DEBUG idx => 255
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  # idx_2 = PHI <0(2), 1(3), 2(4), 255(5)>
<L6>:
  # DEBUG idx => idx_2
  # DEBUG BEGIN_STMT
  return idx_2;

}


pfe_emac_cfg_init (addr_t base_va, pfe_emac_mii_mode_t mode, pfe_emac_speed_t speed, pfe_emac_duplex_t duplex)
{
  errno_t ret;
  uint32_t reg;
  volatile uint32_t * base_va.0_1;
  unsigned int _2;
  volatile uint32_t * _3;
  unsigned int _4;
  volatile uint32_t * _5;
  unsigned int _6;
  volatile uint32_t * _7;
  unsigned int _8;
  volatile uint32_t * _9;
  unsigned int _10;
  volatile uint32_t * _11;
  unsigned int _12;
  volatile uint32_t * _13;
  unsigned int _14;
  volatile uint32_t * _15;
  unsigned int _16;
  volatile uint32_t * _17;
  unsigned int _18;
  volatile uint32_t * _19;
  unsigned int _20;
  volatile uint32_t * _21;
  unsigned int _22;
  volatile uint32_t * _23;
  long unsigned int _24;
  unsigned int _25;
  volatile uint32_t * _26;
  unsigned char _27;
  unsigned int _28;
  volatile uint32_t * _29;
  unsigned int _30;
  volatile uint32_t * _31;
  unsigned char _32;
  unsigned int _33;
  volatile uint32_t * _34;
  unsigned int _35;
  volatile uint32_t * _36;
  unsigned int _37;
  volatile uint32_t * _38;
  unsigned int _39;
  volatile uint32_t * _40;
  int _41;
  int _42;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_va.0_1 = (volatile uint32_t *) base_va_47(D);
  *base_va.0_1 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = base_va_47(D) + 768;
  _3 = (volatile uint32_t *) _2;
  *_3 ={v} 2147549166;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = base_va_47(D) + 772;
  _5 = (volatile uint32_t *) _4;
  *_5 ={v} 3721182122;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = base_va_47(D) + 8;
  _7 = (volatile uint32_t *) _6;
  *_7 ={v} 1094;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _8 = base_va_47(D) + 3296;
  _9 = (volatile uint32_t *) _8;
  *_9 ={v} 1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = base_va_47(D) + 112;
  _11 = (volatile uint32_t *) _10;
  reg_54 ={v} *_11;
  # DEBUG reg => reg_54
  # DEBUG BEGIN_STMT
  reg_55 = reg_54 & 4294967293;
  # DEBUG reg => reg_55
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_11 ={v} reg_55;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = base_va_47(D) + 180;
  _13 = (volatile uint32_t *) _12;
  *_13 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _14 = base_va_47(D) + 1804;
  _15 = (volatile uint32_t *) _14;
  *_15 ={v} 4294967295;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _16 = base_va_47(D) + 1808;
  _17 = (volatile uint32_t *) _16;
  *_17 ={v} 4294967295;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _18 = base_va_47(D) + 2048;
  _19 = (volatile uint32_t *) _18;
  *_19 ={v} 4294967295;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _20 = base_va_47(D) + 3264;
  _21 = (volatile uint32_t *) _20;
  *_21 ={v} 31;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _22 = base_va_47(D) + 332;
  _23 = (volatile uint32_t *) _22;
  reg_62 ={v} *_23;
  # DEBUG reg => reg_62
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _24 = reg_62 | 2228240;
  *_23 ={v} _24;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_9 ={v} 5;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _25 = base_va_47(D) + 328;
  _26 = (volatile uint32_t *) _25;
  *_26 ={v} 3;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG reg => 146415616
  # DEBUG BEGIN_STMT
  _27 = pfe_feature_mgr_is_available ("jumbo_frames");
  if (_27 == 1)
    goto <bb 4>; [34.00%]
  else
    goto <bb 3>; [66.00%]

  <bb 3> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  # DEBUG reg => 146415616

  <bb 4> [local count: 1073741824]:
  # reg_43 = PHI <146481152(2), 146415616(3)>
  # DEBUG reg => reg_43
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *base_va.0_1 ={v} reg_43;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _28 = base_va_47(D) + 3376;
  _29 = (volatile uint32_t *) _28;
  *_29 ={v} 16;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _30 = base_va_47(D) + 3328;
  _31 = (volatile uint32_t *) _30;
  *_31 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _32 = pfe_feature_mgr_is_available ("jumbo_frames");
  if (_32 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _33 = base_va_47(D) + 4;
  _34 = (volatile uint32_t *) _33;
  *_34 ={v} 9022;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _35 = base_va_47(D) + 4;
  _36 = (volatile uint32_t *) _35;
  *_36 ={v} 1522;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _37 = base_va_47(D) + 2816;
  _38 = (volatile uint32_t *) _37;
  *_38 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _39 = base_va_47(D) + 2820;
  _40 = (volatile uint32_t *) _39;
  *_40 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _41 = pfe_emac_cfg_set_speed (base_va_47(D), speed_75(D));
  if (_41 != 0)
    goto <bb 10>; [52.23%]
  else
    goto <bb 8>; [47.77%]

  <bb 8> [local count: 512926469]:
  # DEBUG BEGIN_STMT
  # DEBUG base_va => base_va_47(D)
  # DEBUG mode => mode_77(D)
  # DEBUG INLINE_ENTRY NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG base_va => NULL
  # DEBUG mode => NULL
  # DEBUG BEGIN_STMT
  _42 = pfe_emac_cfg_set_duplex (base_va_47(D), duplex_78(D));
  if (_42 != 0)
    goto <bb 10>; [35.00%]
  else
    goto <bb 9>; [65.00%]

  <bb 9> [local count: 333402205]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 10> [local count: 1073741824]:
  # ret_44 = PHI <22(7), 0(9), 22(8)>
  # DEBUG ret => ret_44
  # DEBUG BEGIN_STMT
  return ret_44;

}


crc32_reversed (const uint8_t * const data, const uint32_t len)
{
  uint32_t jj;
  uint32_t ii;
  uint32_t res;
  const uint8_t * _1;
  unsigned char _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  uint32_t _15;

  <bb 2> [local count: 14744043]:
  # DEBUG BEGIN_STMT
  # DEBUG poly => 3988292384
  # DEBUG BEGIN_STMT
  # DEBUG res => 4294967295
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0
  goto <bb 10>; [100.00%]

  <bb 3> [local count: 119292716]:
  # DEBUG BEGIN_STMT
  _1 = data_16(D) + ii_9;
  _2 = *_1;
  _3 = (long unsigned int) _2;
  res_17 = _3 ^ res_8;
  # DEBUG res => res_17
  # DEBUG BEGIN_STMT
  # DEBUG jj => 0
  goto <bb 8>; [100.00%]

  <bb 4> [local count: 954449108]:
  # DEBUG BEGIN_STMT
  _4 = res_7 & 1;
  if (_4 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 477224554]:
  # DEBUG BEGIN_STMT
  res_20 = res_7 >> 1;
  # DEBUG res => res_20
  # DEBUG BEGIN_STMT
  res_21 = res_20 ^ 3988292384;
  # DEBUG res => res_21
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 477224554]:
  # DEBUG BEGIN_STMT
  res_19 = res_7 >> 1;
  # DEBUG res => res_19

  <bb 7> [local count: 954449108]:
  # res_6 = PHI <res_21(5), res_19(6)>
  # DEBUG res => res_6
  # DEBUG BEGIN_STMT
  jj_22 = jj_10 + 1;
  # DEBUG jj => jj_22

  <bb 8> [local count: 1073741824]:
  # res_7 = PHI <res_17(3), res_6(7)>
  # jj_10 = PHI <0(3), jj_22(7)>
  # DEBUG jj => jj_10
  # DEBUG res => res_7
  # DEBUG BEGIN_STMT
  if (jj_10 != 8)
    goto <bb 4>; [88.89%]
  else
    goto <bb 9>; [11.11%]

  <bb 9> [local count: 119292717]:
  # res_11 = PHI <res_7(8)>
  # DEBUG BEGIN_STMT
  ii_18 = ii_9 + 1;
  # DEBUG ii => ii_18

  <bb 10> [local count: 134036760]:
  # res_8 = PHI <4294967295(2), res_11(9)>
  # ii_9 = PHI <0(2), ii_18(9)>
  # DEBUG ii => ii_9
  # DEBUG res => res_8
  # DEBUG BEGIN_STMT
  if (ii_9 < len_13(D))
    goto <bb 3>; [89.00%]
  else
    goto <bb 11>; [11.00%]

  <bb 11> [local count: 14744044]:
  # res_12 = PHI <res_8(10)>
  # DEBUG BEGIN_STMT
  _5 = ~res_12;
  _15 = reverse_bits_32 (_5);
  return _15;

}


reverse_bits_32 (uint32_t u32Data)
{
  uint32_t u32RevData;
  uint32_t u32DataTemp;
  uint8_t u8Index;
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 32534378]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u32DataTemp => u32Data_6(D)
  # DEBUG BEGIN_STMT
  # DEBUG u32RevData => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8Index => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 1041207447]:
  # DEBUG BEGIN_STMT
  _1 = u32RevData_5 << 1;
  _2 = u32DataTemp_4 & 1;
  u32RevData_9 = _1 | _2;
  # DEBUG u32RevData => u32RevData_9
  # DEBUG BEGIN_STMT
  u32DataTemp_10 = u32DataTemp_4 >> 1;
  # DEBUG u32DataTemp => u32DataTemp_10
  # DEBUG BEGIN_STMT
  u8Index_11 = u8Index_3 + 1;
  # DEBUG u8Index => u8Index_11

  <bb 4> [local count: 1073741824]:
  # u8Index_3 = PHI <0(2), u8Index_11(3)>
  # u32DataTemp_4 = PHI <u32Data_6(D)(2), u32DataTemp_10(3)>
  # u32RevData_5 = PHI <0(2), u32RevData_9(3)>
  # DEBUG u32RevData => u32RevData_5
  # DEBUG u32DataTemp => u32DataTemp_4
  # DEBUG u8Index => u8Index_3
  # DEBUG BEGIN_STMT
  if (u8Index_3 != 32)
    goto <bb 3>; [96.97%]
  else
    goto <bb 5>; [3.03%]

  <bb 5> [local count: 32534377]:
  # u32RevData_7 = PHI <u32RevData_5(4)>
  # DEBUG BEGIN_STMT
  return u32RevData_7;

}


