Re: gcc 5.2 code quality

2016-03-03 Thread Richard Earnshaw
On 03/03/16 00:44, kugan wrote: > > >>> I have just switched to gcc 5.2 from 4.9.2 and the code quality does >>> seem to have improved significantly. For example, it now seems much >>> better at using ldp/stp and it seems to has stopped gratuitous use of >>> the SIMD registers. >>> >>> However, I s

Re: gcc 5.2 code quality

2016-03-02 Thread kugan
I have just switched to gcc 5.2 from 4.9.2 and the code quality does seem to have improved significantly. For example, it now seems much better at using ldp/stp and it seems to has stopped gratuitous use of the SIMD registers. However, I still have a few whinges:-) See attached copy.c / cop

Re: gcc 5.2 code quality

2016-03-02 Thread Renato Golin
On 2 March 2016 at 14:36, Edward Nevill wrote: > It is doing cmp x2, 8 then a few instructions later, without modifying > x2/w2 and without any intervening branch destinations it does cmp w2, 8. > I assert the 2nd cmp w2, 8 and bls are redundant, because we know it is > (unsigned) <= 8 already. O

Re: gcc 5.2 code quality

2016-03-02 Thread Maxim Kuvyrkov
> On Mar 2, 2016, at 4:05 PM, Christophe Lyon > wrote: > > On 2 March 2016 at 12:35, Edward Nevill wrote: >> Hi, >> >> I have just switched to gcc 5.2 from 4.9.2 and the code quality does seem to >> have improved significantly. For example, it now seems much better at using >> ldp/stp and it

Re: gcc 5.2 code quality

2016-03-02 Thread Richard Earnshaw
On 02/03/16 11:35, Edward Nevill wrote: > Hi, > > I have just switched to gcc 5.2 from 4.9.2 and the code quality does seem to > have improved significantly. For example, it now seems much better at using > ldp/stp and it seems to has stopped gratuitous use of the SIMD registers. > > However, I s

Re: gcc 5.2 code quality

2016-03-02 Thread Richard Earnshaw
On 02/03/16 14:25, Renato Golin wrote: > On 2 March 2016 at 11:35, Edward Nevill wrote: >> cmp x2, 8 <<< (1) >> (1) If count as a 64 bit unsigned is <= 8 then it is probably still <= 8 as >> a 32 bit unsigned. > > You mean to use "cmp w2, 8" instead? Is there any difference?

Re: gcc 5.2 code quality

2016-03-02 Thread Edward Nevill
On Wed, 2016-03-02 at 14:25 +, Renato Golin wrote: > On 2 March 2016 at 11:35, Edward Nevill wrote: > > cmp x2, 8 <<< (1) > > (1) If count as a 64 bit unsigned is <= 8 then it is probably still <= 8 as > > a 32 bit unsigned. > > You mean to use "cmp w2, 8" instead? Is t

Re: gcc 5.2 code quality

2016-03-02 Thread Renato Golin
On 2 March 2016 at 11:35, Edward Nevill wrote: > cmp x2, 8 <<< (1) > (1) If count as a 64 bit unsigned is <= 8 then it is probably still <= 8 as a > 32 bit unsigned. You mean to use "cmp w2, 8" instead? Is there any difference? > (2) Nowhere in the function does it store

Re: gcc 5.2 code quality

2016-03-02 Thread Christophe Lyon
On 2 March 2016 at 12:35, Edward Nevill wrote: > Hi, > > I have just switched to gcc 5.2 from 4.9.2 and the code quality does seem to > have improved significantly. For example, it now seems much better at using > ldp/stp and it seems to has stopped gratuitous use of the SIMD registers. Hi Ed,