OK, with TPM free running at least prescaler:
volatile long a=5;
volatile long b=5;
foo()
{
t = TPM1CNT;
a = a*b; // 2 loads, muls.l and store
a = a*b;
a = a*b;
a = a*b;
a = a*b;
a = a*b;
a = a*b;
a = a*b;
a = a*b;
a = a*b;
t = TPM1CNT-t;
}
after foo executed, I found 77 in the t. Results should be similar repeating the same with shorts