[PATCH] D46042: Cap vector alignment at 16 for all Darwin platforms

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 4 11:03:43 PDT 2018


rjmccall added a comment.

In https://reviews.llvm.org/D46042#1088044, @ab wrote:

> So, this makes sense to me, but on x86, should we also be worried about the fact that the calling convention is based on which features are available?  (>128bit ext_vector_types are passed in AVX/AVX-512 registers, if available).  Presumably swift is also affected, no?


I'd forgotten about that.  I think there's a strong argument that we're required to pass at least the Intel intrinsic vector types that way, yeah.  But if we want a stable ABI for other vector types, we really can't.  The root problem here is that the Intel ABI seems to imagine that these vector types only exist when they're supported directly by hardware.  (And the Intel intrinsic headers do define those types even when AVX is disabled!)  So I don't know that we can make a good ABI story for that.


Repository:
  rC Clang

https://reviews.llvm.org/D46042





More information about the cfe-commits mailing list