Re: Potential FastCode speed increase?



> I have not tried these prefixes yet. Do they override the static
> branch prediction only? Or do they also override the branch predictor?

I haven't tried their effect on speed either, but the fact that Intel
created them should mean there is a significant potential performance
gain in using them (at least for current CPUs).

> I guess that the prefixes mean taken hint and not taken hint. A
> possible mnemonic could be TJcc for a Jcc prefixed with the taken
> hint and NTJcc for not taken Jcc.

I think it would be nicer if the syntax expressed the fact that these
are prefixes, not opcodes. The disadvantage of this notation is that,
if the reader doesn't know them, he won't see that these are just
conditional jumps with only a hint added.

I'd prefer something like this:

BHT Jcc // Branch Hit: Taken
BHNT Jcc // Branch Hit: Not Taken

> I would like to have them in the Delphi inline BASM.

So would i. I will add the request to QC and, when i have time, i could
also try the effect these have by modifying some existing FastCode
functions in the B&V utilities. Which function do you think could
benifit most? (that is, has lots of predictable branches, especially
those that are statically mispredicted)
.