
Analyzing function: Siul2_Dio_Ip_WriteChannel/12
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_WriteChannel

IPA function summary for Siul2_Dio_Ip_WriteChannel/12 inlinable
  global time:     7.000000
  self size:       8
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:4.000000, time:4.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
  array index:(op0 changed)
  calls:


Analyzing function: Siul2_Dio_Ip_ReadChannel/11
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_ReadChannel

IPA function summary for Siul2_Dio_Ip_ReadChannel/11 inlinable
  global time:     8.000000
  self size:       9
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:5.000000, time:5.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
  array index:(op0 changed)
  calls:


Analyzing function: Siul2_Dio_Ip_MaskedWritePins/10
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_MaskedWritePins

IPA function summary for Siul2_Dio_Ip_MaskedWritePins/10 inlinable
  global time:     30.000000
  self size:       13
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:2.000000, time:2.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op3 changed)
    size:1.000000, time:1.000000,  nonconst if:(op3 changed || op2 changed)
  array index:(op1 changed) && (op0 changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_ReadPin/9
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_ReadPin

IPA function summary for Siul2_Dio_Ip_ReadPin/9 inlinable
  global time:     18.000000
  self size:       10
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 512] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 512] changed)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
    size:2.000000, time:2.000000,  nonconst if:(op0[ref offset: 512] changed || op1 changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_ReadPins/8
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_ReadPins

IPA function summary for Siul2_Dio_Ip_ReadPins/8 inlinable
  global time:     15.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 512] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 512] changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_TogglePins/7
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_TogglePins

IPA function summary for Siul2_Dio_Ip_TogglePins/7 inlinable
  global time:     17.000000
  self size:       9
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed || op0[ref offset: 0] changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_ClearPins/6
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_ClearPins

IPA function summary for Siul2_Dio_Ip_ClearPins/6 inlinable
  global time:     18.000000
  self size:       10
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed || op0[ref offset: 0] changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_SetPins/5
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_SetPins

IPA function summary for Siul2_Dio_Ip_SetPins/5 inlinable
  global time:     17.000000
  self size:       9
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed || op0[ref offset: 0] changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_GetPinsOutput/4
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_GetPinsOutput

IPA function summary for Siul2_Dio_Ip_GetPinsOutput/4 inlinable
  global time:     15.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_WritePins/3
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_WritePins

IPA function summary for Siul2_Dio_Ip_WritePins/3 inlinable
  global time:     15.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
  calls:
    Siul2_Dio_Ip_REV_BIT_16/1 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: Siul2_Dio_Ip_WritePin/2
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_WritePin

IPA function summary for Siul2_Dio_Ip_WritePin/2 inlinable
  global time:     11.000000
  self size:       12
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:3.000000, time:3.000000,  nonconst if:(op1 changed)
    size:1.000000, time:1.000000,  nonconst if:(op0[ref offset: 0] changed || op1 changed)
    size:1.000000, time:1.000000,  nonconst if:(op2 changed)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed || op2 changed)
    size:1.000000, time:1.000000,  nonconst if:(op0[ref offset: 0] changed || op1 changed || op2 changed)
  calls:


Analyzing function: Siul2_Dio_Ip_REV_BIT_16/1
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5
;;
;; Loop 1
;;  header 4, latch 3
;;  depth 1, outer 0
;;  nodes: 4 3
;; 2 succs { 4 }
;; 3 succs { 4 }
;; 4 succs { 3 5 }
;; 5 succs { 1 }

Analyzing function body size: Siul2_Dio_Ip_REV_BIT_16

IPA function summary for Siul2_Dio_Ip_REV_BIT_16/1 inlinable
  global time:     100.010802
  self size:       15
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:12.000000, time:98.010802
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:

Symbol table:

Siul2_Dio_Ip_WriteChannel/12 (Siul2_Dio_Ip_WriteChannel) @06abcee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Siul2BaseAdresses/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Siul2_Dio_Ip_ReadChannel/11 (Siul2_Dio_Ip_ReadChannel) @06abcc40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Siul2BaseAdresses/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Siul2_Dio_Ip_MaskedWritePins/10 (Siul2_Dio_Ip_MaskedWritePins) @06abc9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Siul2BaseAdresses/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_ReadPin/9 (Siul2_Dio_Ip_ReadPin) @06abc700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_ReadPins/8 (Siul2_Dio_Ip_ReadPins) @06abc460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_TogglePins/7 (Siul2_Dio_Ip_TogglePins) @06abc1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_ClearPins/6 (Siul2_Dio_Ip_ClearPins) @06a67d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_SetPins/5 (Siul2_Dio_Ip_SetPins) @06a677e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_GetPinsOutput/4 (Siul2_Dio_Ip_GetPinsOutput) @06a67ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_WritePins/3 (Siul2_Dio_Ip_WritePins) @06a67c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) 
Siul2_Dio_Ip_WritePin/2 (Siul2_Dio_Ip_WritePin) @06a679a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Siul2_Dio_Ip_REV_BIT_16/1 (Siul2_Dio_Ip_REV_BIT_16) @06a67700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:119292716 (estimated locally) body local optimize_size
  Called by: Siul2_Dio_Ip_MaskedWritePins/10 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_MaskedWritePins/10 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPin/9 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPins/8 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_TogglePins/7 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ClearPins/6 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_SetPins/5 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_GetPinsOutput/4 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePins/3 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Siul2BaseAdresses/0 (Siul2BaseAdresses) @06a63e10
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: Siul2_Dio_Ip_MaskedWritePins/10 (read)Siul2_Dio_Ip_ReadChannel/11 (read)Siul2_Dio_Ip_WriteChannel/12 (read)
  Availability: available
  Varpool flags: initialized
Siul2_Dio_Ip_WriteChannel (uint8 u8Siul2Instance, Siul2_Dio_Ip_PinsChannelType pin, Siul2_Dio_Ip_PinsLevelType value)
{
  int _1;
  long unsigned int _2;
  short unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  uint8 * _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Siul2Instance_8(D);
  _2 = Siul2BaseAdresses[_1];
  _3 = pin_10(D) ^ 3;
  _4 = (long unsigned int) _3;
  _5 = _2 + _4;
  _6 = _5 + 4864;
  _7 = (uint8 *) _6;
  *_7 = value_11(D);
  return;

}


Siul2_Dio_Ip_ReadChannel (uint8 u8Siul2Instance, Siul2_Dio_Ip_PinsChannelType pin)
{
  Siul2_Dio_Ip_PinsLevelType returnValue;
  int _1;
  long unsigned int _2;
  short unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  uint8 * _7;
  unsigned char _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  _1 = (int) u8Siul2Instance_9(D);
  _2 = Siul2BaseAdresses[_1];
  _3 = pin_11(D) ^ 3;
  _4 = (long unsigned int) _3;
  _5 = _2 + _4;
  _6 = _5 + 5376;
  _7 = (uint8 *) _6;
  _8 = *_7;
  returnValue_12 = _8 & 1;
  # DEBUG returnValue => returnValue_12
  # DEBUG BEGIN_STMT
  return returnValue_12;

}


Siul2_Dio_Ip_MaskedWritePins (uint8 u8Siul2Instance, uint8 u8PortId, Siul2_Dio_Ip_PinsChannelType pins, Siul2_Dio_Ip_PinsChannelType mask)
{
  uint32 pinsRev;
  uint32 maskRev;
  struct SIUL2_Type * base;
  int _1;
  long unsigned int _2;
  short unsigned int _3;
  short unsigned int _4;
  long unsigned int _5;
  int _6;
  long unsigned int _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Siul2Instance_8(D);
  _2 = Siul2BaseAdresses[_1];
  base_10 = (struct SIUL2_Type *) _2;
  # DEBUG base => base_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = Siul2_Dio_Ip_REV_BIT_16 (mask_11(D));
  maskRev_12 = (uint32) _3;
  # DEBUG maskRev => maskRev_12
  # DEBUG BEGIN_STMT
  _4 = Siul2_Dio_Ip_REV_BIT_16 (pins_13(D));
  pinsRev_14 = (uint32) _4;
  # DEBUG pinsRev => pinsRev_14
  # DEBUG BEGIN_STMT
  _5 = maskRev_12 << 16;
  _6 = (int) u8PortId_15(D);
  _7 = _5 | pinsRev_14;
  base_10->MPGPDO[_6] ={v} _7;
  return;

}


Siul2_Dio_Ip_ReadPin (const struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pin)
{
  Siul2_Dio_Ip_PinsLevelType returnValue;
  short unsigned int _1;
  short unsigned int _2;
  int _3;
  int _4;
  int _5;
  int _6;
  int _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  _1 ={v} base_9(D)->PGPDI;
  _2 = Siul2_Dio_Ip_REV_BIT_16 (_1);
  _3 = (int) _2;
  _4 = (int) pin_10(D);
  _5 = 1 << _4;
  _6 = _3 & _5;
  _7 = _6 >> _4;
  returnValue_11 = (Siul2_Dio_Ip_PinsLevelType) _7;
  # DEBUG returnValue => returnValue_11
  # DEBUG BEGIN_STMT
  return returnValue_11;

}


Siul2_Dio_Ip_ReadPins (const struct Siul2_Dio_Ip_GpioType * const base)
{
  Siul2_Dio_Ip_PinsChannelType returnValue;
  short unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  _1 ={v} base_3(D)->PGPDI;
  returnValue_4 = Siul2_Dio_Ip_REV_BIT_16 (_1);
  # DEBUG returnValue => returnValue_4
  # DEBUG BEGIN_STMT
  return returnValue_4;

}


Siul2_Dio_Ip_TogglePins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins)
{
  short unsigned int _1;
  short unsigned int _2;
  short unsigned int _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = Siul2_Dio_Ip_REV_BIT_16 (pins_4(D));
  _1 ={v} base_6(D)->PGPDO;
  _2 = _1 ^ _5;
  base_6(D)->PGPDO ={v} _2;
  return;

}


Siul2_Dio_Ip_ClearPins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins)
{
  short unsigned int _1;
  short unsigned int _2;
  short unsigned int _3;
  short unsigned int _6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Siul2_Dio_Ip_REV_BIT_16 (pins_5(D));
  _6 = ~_1;
  _2 ={v} base_7(D)->PGPDO;
  _3 = _2 & _6;
  base_7(D)->PGPDO ={v} _3;
  return;

}


Siul2_Dio_Ip_SetPins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins)
{
  short unsigned int _1;
  short unsigned int _2;
  short unsigned int _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = Siul2_Dio_Ip_REV_BIT_16 (pins_4(D));
  _1 ={v} base_6(D)->PGPDO;
  _2 = _1 | _5;
  base_6(D)->PGPDO ={v} _2;
  return;

}


Siul2_Dio_Ip_GetPinsOutput (const struct Siul2_Dio_Ip_GpioType * const base)
{
  Siul2_Dio_Ip_PinsChannelType returnValue;
  short unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  _1 ={v} base_3(D)->PGPDO;
  returnValue_4 = Siul2_Dio_Ip_REV_BIT_16 (_1);
  # DEBUG returnValue => returnValue_4
  # DEBUG BEGIN_STMT
  return returnValue_4;

}


Siul2_Dio_Ip_WritePins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins)
{
  short unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Siul2_Dio_Ip_REV_BIT_16 (pins_3(D));
  base_4(D)->PGPDO ={v} _1;
  return;

}


Siul2_Dio_Ip_WritePin (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pin, Siul2_Dio_Ip_PinsLevelType value)
{
  Siul2_Dio_Ip_PinsChannelType pinsValues;
  unsigned int _1;
  unsigned int _2;
  int _3;
  short unsigned int _4;
  short unsigned int _5;
  unsigned int _6;
  unsigned int _7;
  short unsigned int _8;
  unsigned char _17;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pinsValues_11 ={v} base_10(D)->PGPDO;
  # DEBUG pinsValues => pinsValues_11
  # DEBUG BEGIN_STMT
  _1 = (unsigned int) pin_12(D);
  _2 = 15 - _1;
  _3 = 1 << _2;
  _4 = (short unsigned int) _3;
  _5 = ~_4;
  pinsValues_13 = _5 & pinsValues_11;
  # DEBUG pinsValues => pinsValues_13
  # DEBUG BEGIN_STMT
  _17 = value_14(D) & 1;
  _6 = (unsigned int) _17;
  _7 = _6 << _2;
  _8 = (short unsigned int) _7;
  pinsValues_15 = _8 | pinsValues_13;
  # DEBUG pinsValues => pinsValues_15
  # DEBUG BEGIN_STMT
  base_10(D)->PGPDO ={v} pinsValues_15;
  return;

}


Siul2_Dio_Ip_REV_BIT_16 (uint16 value)
{
  uint16 ret;
  uint8 i;
  int _1;
  int _2;
  int _3;
  unsigned int _4;
  unsigned int _5;
  unsigned int _6;
  unsigned int _7;
  unsigned int _8;
  short unsigned int _9;
  int _11;
  unsigned int _12;
  unsigned int _13;
  unsigned int _14;
  short unsigned int _15;
  short unsigned int _16;

  <bb 2> [local count: 119292716]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 954449108]:
  # DEBUG BEGIN_STMT
  _1 = (int) value_20(D);
  _2 = (int) i_17;
  _3 = _1 >> _2;
  _4 = (unsigned int) _3;
  _5 = _4 & 1;
  _6 = (unsigned int) i_17;
  _7 = 15 - _6;
  _8 = _5 << _7;
  _9 = (short unsigned int) _8;
  _11 = _1 << _2;
  _12 = (unsigned int) _11;
  _13 = _12 & 32768;
  _14 = _13 >> _7;
  _15 = (short unsigned int) _14;
  _16 = _9 | _15;
  ret_21 = _16 | ret_18;
  # DEBUG ret => ret_21
  # DEBUG BEGIN_STMT
  i_22 = i_17 + 1;
  # DEBUG i => i_22

  <bb 4> [local count: 1073741824]:
  # i_17 = PHI <0(2), i_22(3)>
  # ret_18 = PHI <0(2), ret_21(3)>
  # DEBUG ret => ret_18
  # DEBUG i => i_17
  # DEBUG BEGIN_STMT
  if (i_17 != 8)
    goto <bb 3>; [88.89%]
  else
    goto <bb 5>; [11.11%]

  <bb 5> [local count: 119292717]:
  # ret_10 = PHI <ret_18(4)>
  # DEBUG BEGIN_STMT
  return ret_10;

}


