On Fri, Apr 12, 2019 at 05:50:30PM +0100, David Howells wrote: > Linus Torvalds wrote: > > > We should never have stack alignment bigger than 16 bytes. And > > preferably not even that. > > At least one arch I know of (FRV) had instructions that could atomically > load/store register pairs or register quads, but they had to be pair- or > quad-aligned (ie. 8- or 16-byte), which made for more efficient code if you > could use them. > > I don't know whether any arch we currently support has features like this (I > know some have multi-reg load/stores, but they seem to require only > word-alignment). ARC (iirc) has u64 atomics with natural alignment requirements but alignof(u64)=4 due it being a 32bit arch. Which is awkward. ARMv7 can also do u64 ops when aligned right, but I forgot if they have proper alignment or not.