Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > On 05/05/17 17:10, Wilco Dijkstra wrote: > > However I think all uses of '*' in md files are incorrect and the > > feature should > > be removed. '?' already exists for cases where the alternative may be > > expensive. > > > > It's not quite as simple as that.  I

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Richard Earnshaw (lists)
On 05/05/17 17:10, Wilco Dijkstra wrote: > Richard Earnshaw (lists) wrote: > >> While on the subject, why is the w->w operation also hidden? > > No idea, this just fixes one case where it is obvious the use of '*' is > incorrect. > > However I think all uses of '*' in md files are incorrect and

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > While on the subject, why is the w->w operation also hidden? No idea, this just fixes one case where it is obvious the use of '*' is incorrect. However I think all uses of '*' in md files are incorrect and the feature should be removed. '?' already exists for c

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Richard Earnshaw (lists)
On 26/04/17 13:39, Wilco Dijkstra wrote: > Float to int moves currently generate inefficient code due to > hacks used in the movsi and movdi patterns. The 'r = w' variant > uses '*' which explicitly tells the register allocator to ignore it. > As a result float to int moves typically spill to the

[PATCH][AArch64] Improve float to int moves

2017-04-26 Thread Wilco Dijkstra
Float to int moves currently generate inefficient code due to hacks used in the movsi and movdi patterns. The 'r = w' variant uses '*' which explicitly tells the register allocator to ignore it. As a result float to int moves typically spill to the stack, which is extremely inefficient. For examp