Re: Reordering of functions

glen herrmannsfeldt <gah@ugcs.caltech.edu>
Sun, 24 Feb 2008 01:59:56 -0800

          From comp.compilers

Related articles
[2 earlier articles]
Re: Reordering of functions bisqwit@iki.fi (Joel Yliluoma) (2008-02-19)
Re: Reordering of functions cfc@shell01.TheWorld.com (Chris F Clark) (2008-02-19)
Re: Reordering of functions gah@ugcs.caltech.edu (glen herrmannsfeldt) (2008-02-20)
Re: Reordering of functions plfriko@yahoo.de (Tim Frink) (2008-02-21)
Re: Reordering of functions plfriko@yahoo.de (Tim Frink) (2008-02-21)
Re: Reordering of functions plfriko@yahoo.de (Tim Frink) (2008-02-21)
Re: Reordering of functions gah@ugcs.caltech.edu (glen herrmannsfeldt) (2008-02-24)
Re: Reordering of functions cfc@shell01.TheWorld.com (Chris F Clark) (2008-02-24)
Re: Reordering of functions Jan.Vorbrueggen@thomson.net (=?ISO-8859-15?Q?Jan_Vorbr=FCggen?=) (2008-02-25)
Re: Reordering of functions gneuner2@comcast.net (George Neuner) (2008-02-25)
| List of all articles for this month |

From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Newsgroups: comp.compilers
Date: Sun, 24 Feb 2008 01:59:56 -0800
Organization: Compilers Central
References: 08-02-051 08-02-054 08-02-061
Keywords: optimize
Posted-Date: 24 Feb 2008 12:27:22 EST

Tim Frink wrote:
> For example, conditional jumps with a backward displacement might
> be always predicted as taken. Here the buffering of the branch
> target might be omitted.


Someone doing timing tests on an IBM machine, I believe an ESA/390
machine, found that BXLE (branch on index less than or equal) predicts
the branch as taken, and BXH (branch on index high) predicts as not
taken.


The traditional use for BXLE is at the end of a loop (*), and BXH at
the beginning of a loop. The person doing the tests tried BXH at the
end and BXLE at the beginning with much slower results.


(*) It was used for DO loops in Fortran IV (Fortran 66) code. The
standard allowed, but did not require, the test at the end of the loop
(such that there is at least one trip through the loop even when the
end condition is already satisfied).


-- glen


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.