On Tue, 7 Jan 2025, 03:09 M Chhapgar via Gcc, <gcc@gcc.gnu.org> wrote:
> Hello, > > I am learning about memory alignment and noticed that on my x86-64 machine > with GCC 14, a `complex double` has a size of 16 bytes, but an alignment of > only 8 bytes. I am curious as to why this is. Because it's roughly equivalent to: double arr[2]; This also has size 16 and alignment 8. Doesn't it run the risk of > ending up with a `complex double` that straddles cache lines? > Yes, but that's not a problem.