[PATCH] D151400: [X86] Align stack to 16-bytes on 32-bit with X86_INTR call convention

Phoebe Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 30 23:27:43 PDT 2023


pengfei added inline comments.


================
Comment at: llvm/lib/Target/X86/X86FrameLowering.cpp:1248
+    if (HasRealign)
+      MaxAlign = Align(std::lcm(16, MaxAlign.value()));
+    else
----------------
antangelo wrote:
> pengfei wrote:
> > pengfei wrote:
> > > I think `max` is enough. We don't have no-power-of-2 alginment.
> > Where's the `16` request from, ABI?
> The 16 byte alignment is from SysV ABI. I believe the latest revision is here https://gitlab.com/x86-psABIs/i386-ABI/-/tree/hjl/x86/master
> 
> > The end of the input argument area shall be aligned on a 16 (32 or 64, if `__m256` or `__m512` is passed on stack) byte boundary
My understanding is psABI just defines the default calling conversion. I didn't see description about interrupt in the ABI doc.
What's the GCC behavior? Is this to match with it?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151400



More information about the llvm-commits mailing list