Date: Sun, 4 Jul 1999 15:44:29 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Bill Currie cc: djgpp-workers AT delorie DOT com Subject: Re: .align directives in libc.a In-Reply-To: <377C5986.1B33420B@taniwha.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Fri, 2 Jul 1999, Bill Currie wrote: > > > Intel manuals seem to recommend 16-byte alignment, both for code and > > > for data. > > > > And that's normally the best. MSVC uses 16 and 32 (based on some strange > > criteria). > > Isn't 32 bytes the size of a cache line on 486+? The cache line size is 32 bytes, but the prefetch buffers fetch on 16-byte boundaries (or at least that's what Intel manuals say). Intel explicitly recommends to align on 16-byte boundaries for the large data types and targets of jumps. The only exception is large arrays and data structures (longer than 32 bytes) for which 32-byte alignment is recommended.