XTime_GetTime() assumes the timer is already running.
If the timer is not running XTime_GetTime() does not return the proper value.
sleep() actually kicks off the timer if the timer was not running.
Calling sleep() before XTime_GetTime() will ensure the proper functionality.
This issue does not affect FSBL XTime_GetTime() calls, only stand-alone code written by the user.
This issue will be addressed in Vivado 2016.2.