[PATCH] D72582: [X86] Don't inherit 32-bit calling conventions in 64-bit mode.

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 19 10:49:19 PST 2020


rnk accepted this revision.
rnk added subscribers: dexonsmith, probinson, rjmccall.
rnk added a comment.
This revision is now accepted and ready to land.

Hm, this will be an ABI compat issue that is relatively easy to run into:

  typedef double __attribute__((vector_size(3*8))) MyVec;
  MyVec f() { return {}; }

->
`define dso_local <3 x double> @_Z1fv()`
->

  xorps   %xmm0, %xmm0
  fldz

This function is already sensitive to -mavx, so maybe libraries that care don't expose functions like this. I think we want the new behavior in this patch: these things should be passed indirectly by address.

We should give people who care about a stable ABI a heads-up, though: + at dexonsmith @rjmccall @probinson

Otherwise, everything looks good to me, but please get some acknowledgement.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D72582





More information about the llvm-commits mailing list