Author: Vincent Diepeveen
Date: 15:30:24 08/08/03
Go up one level in this thread
On August 08, 2003 at 18:15:04, Gerd Isenberg wrote: In assembly one should trivially put this one to be a not taken branch. My assumption is the PGO will find about this one for the C code. I assume the penalty of a K7 here is pretty big for straightforward compile of the code and for the opteron even more. However it is trivial the P4 wins the coin here. >I'm not quite sure about the branch prediction issue in Vincent's inner loops. >E.g. the "if ( color[u] == xside )" expression. > >I learned that there are two kinds of branch predictions. Static and dynamic. >Static is done, if no BPT-entry is found, by simple heuristics like branching >short backward by jxx to a do-while body, but no jxx-branch foreward. > >I guess dynamic branch prediction is implemented by a branch prediction table. >It maps ip of branch instruction with ip of branchtarget done recently with some >recent counter. Is that correct so far? > >Does a frequently asked, but long time constant condition affects branch >prediction in seldom reached code with the same well known and often computed >condition but ip and branch target not in BPT? > >How does the pipe length interact with branch prediction, eg. on P4, K7 or >Opteron? Eg. if a condition is already computed and flags are set, but the >conditional jump is not even decoded, due to some further not modifying flag >instructions? > >Thanks in advance, >Gerd
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.