intel vector abi mangling questions

intel vector abi mangling questions


I have a few questions regarding vector function mangling as specified in 2012-v0.9.5.  If this is not the right forum for this, could I please be guided to the appropriate one?

1. What is the order of the vparameters and the alignment parameter ('s', 'l', 'u', 'v', 'a')?  For example, if an argument is constantly linear by 2 and uniform, is that encoded as "l2u" or "ul2".  Similarly for the rest of the encoding characters.

Just by looking at the "_ZGVxN4ua32vl_setArray" example on page 7, I would assume that the order is [uniform, aligned, vector, linear], but the spec does not specifically say that, so I don't know.

2. What specifically is the 'v' (vector) parameter for?  The mangling section (2.6) says "vector" but does not define it.  Furthermore, in the example therein, it says that "v" indicates private(x), not vector.  I'm a bit confused here..

3. The setArray() example has an "aligned" clause, yet Cilk Plus doesn't have an aligned clause in the language spec.

Thanks for any help on this.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Aldy,

   The order is defined by the order of appearance of the parameter-list in the function. For example,  func (short a, int b) where a is uniform and b is linear with step-size of 2 it will be encoded as "ul2"

If the parameter is neither uniform or linear it will be called "vector" (I think private is an older name). It indicates that the parameter should be passed in through a vector register, whereas linear and uniform uses scalar registers.


Balaji V. Iyer. 

Whoops, my bad.  Uniform, linear, and vector can't coexist in one variable, and I see that alignment is always at the end.  Sorry.

Ok then, for number #3, I assume this is for OpenMP only, or there is a missing "aligned" clause in the Cilk Plus spec.

Sorry I forgot to address about aligned clause. Yes, it is an OpenMP only clause.

-Balaji V. Iyer.

Leave a Comment

Please sign in to add a comment. Not a member? Join today