thats really weired. I cant see why the compiler generates better code with this statement - but it does. Verified it with SDK 2.4 myself ..
Anyone noticed that during the last few rounds a lot of variables are calculated, but never used again?
I took the time to optimize all unused statements out, but got no speed improvements at all. Seems like the compiler optimized it anyway.
Here it is - from round 124 to the #ifdef VECTORS preprocessor command
sharound(121);
// Optimized out all unused calculations
W[122 - O] = P4(122) + P3(122) + P2(122) + P1(122);
Vals[1] += K[58] + Vals[5] + W[122 - O] + s1(122) + ch(122);
Vals[0] += K[59] + Vals[4] + s1(123) + ch(123) + P4(123) + P3(123) + P2(123) + P1(123);
Vals[7] += Vals[3] + P4(124) + P3(124) + P2(124) + P1(124) + s1(124) + ch(124);
#ifdef VECTORS
Maybe someone can trick the compiler into making better code ;-)
Hey Vince, tried this by myself a few days ago and didn't get a better efficiency either ... perhaps I will have to throw it into the mixer again
.