https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83487
--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I thought I've done it here by CCing relevant people. Or who else stands behind the x86-64 psABI these days? Anyway, I was looking at 0.95, seems newer psABI has more rules in there. Perhaps we can say that aggregates that recursively contain no fields except other aggregates/unions/arrays have NO_CLASS class regardless of the size, then there just would need to be an exception for the > 16 byte <= 64 byte aggregates with all NO_CLASS classes, those shouldn't be passed in memory.