[LLVMdev] ARM aapcs calling convention for small vectors

Tim Northover t.p.northover at gmail.com
Fri Sep 21 08:37:39 PDT 2012

> I was wondering if ARM aapcs calling convention defines how to pass small vectors as parameter to a routine.
> By small vectors, I mean with size less than a 32-bit integer.

The AAPCS is silent on the matter. Vectors with size <= 32 aren't
recognised by the PCS so a language wanting to support them with
well-defined semantics (including LLVM) is expected to choose and
specify which machine types they map to (and how!). This is much like
how the C++ ABI specifies how its types map onto PCS-level ones.

I doubt LLVM has made an active choice on this though; it's probably
just relying on default behaviour being good enough to make it work.


More information about the llvm-dev mailing list