Patch: Add a stop bit in alignment for alloc.

David Mosberger davidm@napali.hpl.hp.com
Wed Mar 3 06:12:00 GMT 2004


>>>>> On Tue, 2 Mar 2004 20:41:29 -0800, "H. J. Lu" <hjl@lucon.org> said:

  HJ> I checked in the patch. But it is not complete. If the alignment
  HJ> directive is a no-op, the stop bit will be missing.

Yeah, I guess that's counter-intuitive given that gas would normally
insert a stop-bit in front of the "alloc".  Having said that, putting
an explicit stop-bit in front of the .align seems to do the right
thing so hand-crafted assembly would probably be OK.  Also, for the
first time, the Linux kernel built and worked with -falign-loops=32!
Very nice!

As you'd expect, this isn't really a sensible thing to do, but it's a
good acid test and, as it turns out, it does give a nice boost in "AF
UNIX" throughput (to just about 2GB/sec).  That's probably more a sign
that GCC could sometimes be a bit smarter about aligning
branch-targets on McKinley.

Thanks,

	--david



More information about the Binutils mailing list