On Mon, Dec 10, 2007 at 03:28:52PM +0000, Maciej W. Rozycki wrote: > > > Not really a kernel-related question. I've discovered that GCC 4.1.1 > > > (which I'm not using for kernel compiling, but user space) generates > > > branch likely instructions by default, even though the documentation > > > says that their use is off by default for MIPS32 and MIPS64, because > > > they are considered deprecated. They are documented as obsolete for the > > > Broadcom chips I am working with. > > > > Microarchitecture guys love to hate branch likely. But the deprecation is > > a dream. Binary compatibility will always require those instructions to > > continue to exist so the genie is out of the bottle and so I feel very > > certain to predict that a future MIPS 3 specification will contain branch > > likely. > > We have been there before -- binary compatibility does not preclude > emulation. And I do not mean keeping the MIPS I toys (as they might be > seen these days) running, but serious products deployed commercially, like > newer VAX implementations that kept full binary compatibility with their > predecessors in the area of the some of the more arcane instructions only > by means of emulating them in the OS. It would devastate the performance of some binaries. As an intellectual challenge, how far can you strip down a MIPS implementation and emulate removed instructions in the kernel ;-) Ralf