To: djgpp AT delorie DOT com Subject: Re: Interesting benchmark results Message-ID: <19970311.190012.8503.0.chambersb@juno.com> References: <199703110238 DOT MAA29246 AT solwarra DOT gbrmpa DOT gov DOT au> From: chambersb AT juno DOT com (Benjamin D Chambers) Date: Tue, 11 Mar 1997 21:55:56 EST On Tue, 11 Mar 1997 12:38:55 +1000 (EST) leathm AT solwarra DOT gbrmpa DOT gov DOT au (Leath Muller) writes: >Ummm...basically, to my knowledge anyway, and by my understanding of >the >doc's, your completely wrong. :) Code always goes I could be - I've been wrong before :) superscalar if it >can >because its _always_ in the cache (code _has_ to be in the cache to >execute to start with, no?) and it will go superscalar if executed the >first time too. > >Branches can be predicted following some basic rules... Yes, but wrong predictions incur a 4-5 cycle penalty, don't they? > >Have your read the Pentium Programmers Guide? Its really cool if you >haven't, >and if you have, where does it say this stuff? My library system doesn't have it yet (they don't even have the 486 programmer's guide yet! :), and I don't have the money for it. I got the above from Abrash's Zen of Code Optimization, and it spent a lengthy chapter just on making code go superscalar. Of course, I haven't had the chance to time things to know for sure whether the first iteration goes superscalar - but my timings (when I occasionally get access to a Pentium) show that they usually do (bear in mind, these are iterations of thousands of times, so usually is a pretty big number). In either case, the first iteration wouldn't make too much difference if you have a large loop value. One point to make though: I have often been wrong before. It would be no surprise if I was wrong again :) ...Chambers