x86/64 alignment, optimization, -Wcast-align

Balázs Oroszi orobalage@gmail.com
Tue Oct 25 22:24:00 GMT 2016


I don't allocate the memory, I write a DLL and memory is handed to me
as a byte array.

2016-10-26 0:10 GMT+02:00 Jeffrey Walton <noloader@gmail.com>:
> On Tue, Oct 25, 2016 at 5:58 PM, Balázs Oroszi <orobalage@gmail.com> wrote:
> Usually, you go the other way: you either (1) align to 16 for stack
> based allocations, or (2) allocate on the heap, which has 16-byte
> alignment. It allows you the benefit of vectorization and AVX.
>
> You also have to avoid the unaligned data accesses and type punning.
> The undefined behavior sanitizers are usually very good about finding
> them at runtime. Just compile with -fsanitize=undefined, and then run
> your test suite.
>
> Jeff



More information about the Gcc-help mailing list