Perhaps the thing I’m misunderstanding is that the compiler flag in question only pertains to data loaded in an AVX register?
On Thu, Aug 4, 2022 at 9:14 PM James <[email protected]> wrote: > In the columnar format > <https://arrow.apache.org/docs/format/Columnar.html> doc, it is noted > that buffers ought to be allocated such that they're 64 byte aligned and > padded. It is also noted that this allows the use of compiler options such > as -qopt-assume-safe-padding. However, my understanding > of -qopt-assume-safe-padding is that all heap allocations need to be 64 > byte aligned and padded. Is this consistent with the use of > std::make_shared? Perhaps I'm missing something, but it looks like there > are many heap allocations throughout the cpp code that are not 64 byte > aligned and padded. Is it the intention that only the columnar buffer data > be aligned and padded. If yes, then does the use of std::make_shared make > use of -qopt-assume-safe-padding not possible? >
