Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-09-04 Thread Steve Ellcey
On Tue, 2018-09-04 at 17:20 +, Wilco Dijkstra wrote: > External Email > > Hi Steve, > > The latest version compiles the examples I used correctly, so it looks fine > from that perspective (but see comments below). However the key point of > the ABI is to enable better code generation when

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-09-04 Thread Wilco Dijkstra
Hi Steve, The latest version compiles the examples I used correctly, so it looks fine from that perspective (but see comments below). However the key point of the ABI is to enable better code generation when calling a vector function, and that will likely require further changes that may

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-09-04 Thread Kyrill Tkachov
Hi Steve, On 20/08/18 18:37, Steve Ellcey wrote: On Tue, 2018-08-07 at 12:15 -0500, Segher Boessenkool wrote: > > +/* { dg-final { scan-assembler-not "\[ \t\]stp\tq\[01234567\]" } } > > */ > That's [0-7] but maybe you find [01234567] more readable here. Segher, I fixed all the issues you

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-08-31 Thread Steve Ellcey
Ping.  Any feedback from the Aarch64 maintainers? Steve Ellcey sell...@cavium.com On Mon, 2018-08-20 at 10:37 -0700, Steve Ellcey wrote: > On Tue, 2018-08-07 at 12:15 -0500, Segher Boessenkool wrote: > > > > > > > > > +/* { dg-final { scan-assembler-not "\[ \t\]stp\tq\[01234567\]" } > > >

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-08-20 Thread Steve Ellcey
On Tue, 2018-08-07 at 12:15 -0500, Segher Boessenkool wrote: > > +/* { dg-final { scan-assembler-not "\[ \t\]stp\tq\[01234567\]" } } > > */ > That's [0-7] but maybe you find [01234567] more readable here. Segher,  I fixed all the issues you pointed out except this one.  Since there are some uses

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-08-07 Thread Segher Boessenkool
Hi! Some very trivial comments... On Mon, Aug 06, 2018 at 03:13:52PM -0700, Steve Ellcey wrote: > (aarch64_components_for_bb): Check for simd function. > (aarch64_epilogue_uses): New function. > (aarch64_process_components): Ditto. > (aarch64_expand_prologue): Ditto. >

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-08-07 Thread Steve Ellcey
I have a question about my own patch.  In doing testing I realized that if I use the aarch64_vector_pcs attribute on a platform without SIMD (i.e. -march=armv8.1-a+nosimd) I get an ICE.  That is obviously not what we want but I was wondering what the right behaviour is. We certainly don't want to

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-08-06 Thread Steve Ellcey
Thanks for the feedback Kyrill.  I have updated my patch and attached the new version to this email.  The one change I did not make was to remove load_pair_dw_tftf and store_pair_dw_tftf and use the load_pair and vec_store_pair patterns.  Having to add two new iterators to remove two instructions

Re: [Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-08-01 Thread Kyrill Tkachov
Hi Steve, On 31/07/18 23:24, Steve Ellcey wrote: Here is a new version of my patch to support the Aarch64 SIMD ABI [1] in GCC. I think this is complete enought to be considered for check in. I wrote a few new tests and put them in a new gcc.target/torture directory so they would be run with

[Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-07-31 Thread Steve Ellcey
Here is a new version of my patch to support the Aarch64 SIMD ABI [1] in GCC.  I think this is complete enought to be considered for check in.  I wrote a few new tests and put them in a new gcc.target/torture directory so they would be run with multiple optimization options.  I also verified that