Re: [PATCH 2/6] [RS6000] rs6000_output_indirect_call

2018-11-13 Thread Segher Boessenkool
On Tue, Nov 13, 2018 at 10:44:24AM +1030, Alan Modra wrote: > On Mon, Nov 12, 2018 at 01:44:08PM -0600, Bill Schmidt wrote: > > On 11/6/18 11:37 PM, Alan Modra wrote: > > > + fun, "l" + sibcall); > > > > It's not at all clear to me what {"l" + sibcall} is doing here. > > It's an ancient

Re: [PATCH 2/6] [RS6000] rs6000_output_indirect_call

2018-11-12 Thread Alan Modra
On Mon, Nov 12, 2018 at 01:44:08PM -0600, Bill Schmidt wrote: > On 11/6/18 11:37 PM, Alan Modra wrote: > > +fun, "l" + sibcall); > > It's not at all clear to me what {"l" + sibcall} is doing here. It's an ancient C programmer's trick, from the days when most compilers didn't optimize

Re: [PATCH 2/6] [RS6000] rs6000_output_indirect_call

2018-11-12 Thread Bill Schmidt
On 11/6/18 11:37 PM, Alan Modra wrote: > Like the last patch for external calls, now handle most assembly code > for indirect calls in one place. The patch also merges some insns, > correcting some !rs6000_speculate_indirect_jumps cases branching to > LR, which don't require a speculation barrier.

[PATCH 2/6] [RS6000] rs6000_output_indirect_call

2018-11-06 Thread Alan Modra
Like the last patch for external calls, now handle most assembly code for indirect calls in one place. The patch also merges some insns, correcting some !rs6000_speculate_indirect_jumps cases branching to LR, which don't require a speculation barrier. * config/rs6000/rs6000-protos.h (rs60