Fwd: Representing interleaving and lane load/stores at the tree level
richard.sandiford at linaro.org
Tue Mar 15 11:30:26 UTC 2011
Ira Rosen <IRAR at il.ibm.com> writes:
>> > How do you distinguish between "multiple structures" and "single
>> > 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.
Do you have any suggestions for names? __builtin_load_replicate?
More information about the linaro-toolchain