Dunno where this 'from' line came from, but it says here:
[EMAIL PROTECTED] wrote:
:On Sun, Jan 12, 2003 at 10:24:23AM +0100, Leopold Toetsch wrote:
:all default to a machine dependent default. This default isn't documented
:explicitly, but I presume that on x86 it's the same as the x86 specific -m
:options of the same name (deprecated in gcc 3.0, removed along with their
:documentation by 3.2)
:
:*Their* alignment defaults are:
:
:`-malign-loops=NUM'
:     Align loops to a 2 raised to a NUM byte boundary.  If
:     `-malign-loops' is not specified, the default is 2 unless gas 2.8
:     (or later) is being used in which case the default is to align the
:     loop on a 16 byte boundary if it is less than 8 bytes away.
:
:sooooo
:
:50% of the time your function/label/loop/jump is 16 byte aligned.
:50% of the time your function/label/loop/jump is "randomly" aligned

I read this differently: 16n+7 should be aligned to 16n, because it
is less than 8 bytes away; 16n+9 should be aligned 16n+16 similarly.
Only 16n+8 would be unaligned, so that only in 1/16 random cases
would it fail to be 16-byte aligned, and then it would still be 8-byte
aligned.

That doesn't necessarily invalidate any of the rest of what was said.

Hugo

Reply via email to