[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