Author: Robert Hyatt
Date: 12:27:10 07/22/03
Go up one level in this thread
On July 22, 2003 at 15:02:46, Tom Kerrigan wrote: >On July 22, 2003 at 14:18:23, Robert Hyatt wrote: > >>>Of course, this is contrary to the point of a conditional move instruction. My >>>only comment to that is that Intel must have decided to add the conditional move >>>after they were done designing the relevant parts of the core. The decision to >>>add the instruction makes sense for forward-compatibility, i.e., "use this >>>instruction and you will see a performance improvement with it on later >>>processors." >> >>That could be. However, the idea was not new. The alpha did this 10+ years >>ago. So the advantage to a real CMOV implementation should be real. > >Did I ever say it was new? I'll play the game. Did I _say_ you said it was new?? > Did I say that Intel's implementation is ideal? Did I say you said it was ideal? > No, I >didn't. And conditional move is just a poor man's predication, which has been >implemented in processors LONG before Alpha. (And, IIRC, conditional move was a >recently added Alpha instruction. I don't think it was in the 21064.) It was there. I have the original alpha architecture handbook published by Digital. It's explained on page 4-37 in this book which was published in 1992. > >I see nothing wrong with what Intel did. If my hunch is right and they only >thought of adding the instruction after the P6 datapaths were planned/designed, >then the net effect is that they added an instruction that doesn't increase >performance, or increases it only marginally. So it's a little something extra >they threw in there to future-proof the processor which isn't hurting you >because you DON'T EVEN HAVE TO USE IT. So you're being an ass for criticizing >them for it. They could have just as easily left it out and then you would have >had no complaints. If Intel implemented it poorly, when it had been implemented _correctly_ 12 years previously, then I hardly think "I am being an ass for criticizing them for doing it _badly_." Had they left it out, I _would_ have had complaints, because the alpha has an instruction that directly addresses a common operation in C, the conditional assignment operator. So I feel perfectly sane in complaining if they omit something that has been around long enough for them to include it, or if they include something but implement it poorly so that it doesn't do what the "concept" suggests it does, namely eliminate branch mis-predictions by eliminating branches. It's not hard to do this in hardware. It's been done more than once already. Bob "the ass" Hyatt > >-Tom
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.