Hi,
If you measure the speed of something, it is convienent to use 
for (;

  {
        PTCD_PTCD0 = 1;//5 cycles
        PTCD_PTCD0 = 0; //5 cycles
  } //3 cycles
 
The  PTCD_PTCD0 instruction is translated to
bset         PTCD_PTCD0,PTCD //5 clocks
That makes 13 cycles. If your code runs at 2 MHz, * 13 = 26 MHz.
Thats not bad!
(I tried it on your software.)
 
Regards,
Ake