[PATCH] D86310: [X86] Align i128 to 16 bytes in x86-64 datalayout

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 21 13:18:58 PDT 2020


efriedma added a comment.

I'm afraid the AutoUpgrade component of this isn't compatible with existing IR without some additional work.  I'm most concerned about cases like the following:

  #pragma pack(8)
  struct X { __int128 x; }; // Not a packed struct in IR because the native alignment is 8
  struct Y { long long x; struct X y; }; // 24 bytes before autoupgrade, 32 bytes after
  struct Y x;



------

On a related note, we need to add "Fn8" to the x86 datalayout at some point.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86310/new/

https://reviews.llvm.org/D86310



More information about the cfe-commits mailing list