Re: [gomp4, WIP] Elementals improvements

2013-11-14 Thread Jakub Jelinek
On Fri, Nov 15, 2013 at 06:26:28AM +1000, Richard Henderson wrote: > On 11/15/2013 06:13 AM, Jakub Jelinek wrote: > > On Fri, Nov 15, 2013 at 05:48:27AM +1000, Richard Henderson wrote: > >> Pointers are certainly a decent fallback that would always be compatible, > >> but I wonder if we need go tha

Re: [gomp4, WIP] Elementals improvements

2013-11-14 Thread Richard Henderson
On 11/15/2013 06:13 AM, Jakub Jelinek wrote: > On Fri, Nov 15, 2013 at 05:48:27AM +1000, Richard Henderson wrote: >> Pointers are certainly a decent fallback that would always be compatible, >> but I wonder if we need go that far. >> >> Each target will have a (set of) natural simdlen to which it v

Re: [gomp4, WIP] Elementals improvements

2013-11-14 Thread Jakub Jelinek
On Fri, Nov 15, 2013 at 05:48:27AM +1000, Richard Henderson wrote: > Pointers are certainly a decent fallback that would always be compatible, > but I wonder if we need go that far. > > Each target will have a (set of) natural simdlen to which it vectorizes. This > is the set returned by autovect

Re: [gomp4, WIP] Elementals improvements

2013-11-14 Thread Richard Henderson
On 11/14/2013 02:30 AM, Jakub Jelinek wrote: > As discussed earlier, if we strictly follow the Intel ABI for simds, > we run into various issues. The clones then have to use __regcall calling > convention which e.g. mandates that on x86_64 up to 16 vector arguments > are passed in xmm/ymm register

[gomp4, WIP] Elementals improvements

2013-11-13 Thread Jakub Jelinek
Hi! Here is my latest elemental tweaks patch. While the patch has code to pass some argument in multiple vector arguments, it doesn't have something similar for return types. A lot of decisions whether to create elemental clone is done in a target hook (because, as long as we pass arguments in ve