On 15 March 2011 13:30, Richard Sandiford <richard.sandiford@linaro.org> wrote:
Ira Rosen <IRAR@il.ibm.com> writes:
>> > How do you distinguish between "multiple structures" and "single
> structure
>> > to all lanes"?
>>
>> Sorry, I'm not sure I understand the question. Could you give a couple
>> of examples?
>
> Sorry, I guess I just don't understand the syntax. I meant to ask about
> three different types of vld/vst. For example, vld3 can be
> (1) multiple 3-element structures: loads multiple 3-element structures into
> 3 registers
> (2) single 3-element structure to one lane: loads one 3-element structure
> into corresponding elements of 3 registers
> (3) single 3-element structure to all lanes: loads one 3-element structure
> into all lanes of 3 registers.
>
> I understood that __builtin_load_lanes implements (1) and
> __builtin_load_lane implements (2), is that correct? And what function
> corresponds to (3)? __builtin_load_lanes?

Sorry, my bad.  Like you say, I suppose the two options are to
(a) overload __builtin_load_lanes or (b) have a third built-in function.
And as you imply, I suppose (b) is going to be less confusing.

Yes, I prefer (b) :)
 

Do you have any suggestions for names?  __builtin_load_replicate?

Sounds good.

Ira
 

Richard

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain