When doing testing for constant execution time on some cryptographically sensitive functions we came across issues related to instruction caching. The first execution of a function would always be a bit slower than the iterations that followed. From what I could find, only instructions are cached and this is not dependent on the actual data being processed. So for our test systems we simply disabled this caching behaviour to get consistent results.
Were the assumptions correct, or are there some edge-cases unbeknownst to me where the execution-time could be influenced by the actual data being processed? In other words, is the caching behaviour on the CC1350 cryptographically safe?