Re: Fwd: Representing interleaving and lane load/stores at the tree level

2011-03-15 Thread Ira Rosen
On 15 March 2011 13:30, Richard Sandiford wrote: > Ira Rosen 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 gues

Re: Fwd: Representing interleaving and lane load/stores at the tree level

2011-03-15 Thread Richard Sandiford
Ira Rosen 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 d

Re: Fwd: Representing interleaving and lane load/stores at the tree level

2011-03-10 Thread Ira Rosen
> [Sorry, forgot to CC: the list] > > Hi Ira, > > Thanks for the feedback. > > On 6 March 2011 09:20, Ira Rosen wrote: > > > So how about the following functions?  (Forgive the pascally syntax.) > > > > > >     __builtin_load_lanes (REF : array N*M of X) > > >       returns array N of vector M o

Fwd: Representing interleaving and lane load/stores at the tree level

2011-03-09 Thread Richard Sandiford
[Sorry, forgot to CC: the list] Hi Ira, Thanks for the feedback. On 6 March 2011 09:20, Ira Rosen wrote: > > So how about the following functions?  (Forgive the pascally syntax.) > > > >     __builtin_load_lanes (REF : array N*M of X) > >       returns array N of vector M of X > >       maps to

Re: Representing interleaving and lane load/stores at the tree level

2011-03-06 Thread Ira Rosen
Sorry for the delay in my response, I was sick last week. > > I've been spending this week playing around with various representations > of the v{ld,st}{1,2,3,4}{,_lane} operations. I agree with Ira that the > best representation would be to use built-in functions. > > One concern in the origi

Re: Representing interleaving and lane load/stores at the tree level

2011-02-25 Thread Richard Sandiford
Richard Sandiford writes: > __builtin_store_lanes (VECTORS : array N of vector M of X) > returns array N*M of X > maps to vstN > in practice, the argument would be populated by assignments of the form: > vectorX = ARRAY_REF er, of course, I meant: ARRAY_REF =

Representing interleaving and lane load/stores at the tree level

2011-02-25 Thread Richard Sandiford
I've been spending this week playing around with various representations of the v{ld,st}{1,2,3,4}{,_lane} operations. I agree with Ira that the best representation would be to use built-in functions. One concern in the original discussion was that the optimisers might move the original MEM_REFs a