------- Comment #5 from pinskia at gcc dot gnu dot org 2005-12-06 21:58 ------- (In reply to comment #4) > So, no, the code is not worse, but much better. I hope this > workaround will continue to work in future versions.
You are wrong in general since this is a conditional indirect jump. Since it is conditional it means that it is going to do a jump and the locatity reasons are that important as like in the old days when there was a little code cache. In fact have doing jne instead of jeq might cause the branch mispridected. Note if you were actually using a target which have conditional indirect jumps this would be a bug (PPC for an example from either lr or ctr register, see PR 25287 for a bug report about that). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25285