On Sat, Feb 02, 2002 at 01:53:23PM -0500, Justin Carlson wrote: > > Actually, regardless of whether modern cpus implement it, I'd argue that > avoiding the branch likely is a good idea for 2 reasons: > > 1) In the latest MIPS specs (mips32 and mips64) branch likelies have > officially been deprecated as probable removals from the architecture in > the not-too-distant future. > > 2) More importantly, most implementations don't use any sort of dynamic > branch prediction on branch likelies. They predict taken, always, since > that's the specified intent (it's a branch *likely* to be taken). For > most spin locks, the normal behaviour is a fall through, not taking that > branch, so you're inflicting a branch mispredict penalty on every lock > grabbed without contention. Even for locks which the general case is > contention, giving the processor branch predictor a chance to learn that > is a Good Idea. > Does everyone agree with this? If yes, I can make a patch not to use branch likely. But on the other hand, "gcc -mips2" will generate code using branch likely. If branch likely doesn't buy you anything, shouldn't we change gcc not to generate branch likely instructions? H.J.