Re: rs6000 toc reference rtl again

2012-05-16 Thread David Edelsohn
On Tue, May 1, 2012 at 12:17 AM, Alan Modra wrote: >        * config/rs6000/predicates.md (input_operand): Don't match >        constant pool addresses.  Remove label_ref, high and plus from >        match_code list.  Remove redundant CONSTANT_P test. >        (splat_input_operand): Similarly upd

Re: rs6000 toc reference rtl again

2012-05-15 Thread Alan Modra
On Tue, May 01, 2012 at 01:47:51PM +0930, Alan Modra wrote: > This revision splits the medium/large code model toc reference after > reload. Ping http://gcc.gnu.org/ml/gcc-patches/2012-05/msg6.html -- Alan Modra Australia Development Lab, IBM

Re: rs6000 toc reference rtl again

2012-04-30 Thread Alan Modra
This revision splits the medium/large code model toc reference after reload. I expected this to be more difficult, but it turned out surprisingly easy. Besides creating the rtl that way, and tweaking toc_relative_expr_p to match, it was just: Move the 'R' constraint handling out of various movsi

Re: rs6000 toc reference rtl again

2012-04-04 Thread Alan Modra
On Wed, Apr 04, 2012 at 10:25:39AM +0100, Richard Sandiford wrote: > With the loop thing, do you mean that you're seeing too many HIGHs > being hoisted? No, nothing as complicated as that. In a lot of cases, any hoisting of the high part is bad, because the linker nops out the high part and edits

Re: rs6000 toc reference rtl again

2012-04-04 Thread Richard Sandiford
Alan Modra writes: > On Tue, Apr 03, 2012 at 07:49:04PM +0100, Richard Sandiford wrote: >> Alan Modra writes: >> > Now that we are back in stage1, I'd like to apply >> > http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00304.html, a change to >> > toc reference rtl in order to properly specify r2 dep

Re: rs6000 toc reference rtl again

2012-04-03 Thread Alan Modra
On Tue, Apr 03, 2012 at 07:49:04PM +0100, Richard Sandiford wrote: > Alan Modra writes: > > Now that we are back in stage1, I'd like to apply > > http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00304.html, a change to > > toc reference rtl in order to properly specify r2 dependencies. More > > comme

Re: rs6000 toc reference rtl again

2012-04-03 Thread Richard Sandiford
Alan Modra writes: > Now that we are back in stage1, I'd like to apply > http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00304.html, a change to > toc reference rtl in order to properly specify r2 dependencies. More > commentary in that url. I'm reposting the patch here since the old > one no longe

Re: rs6000 toc reference rtl again

2012-04-03 Thread David Edelsohn
On Tue, Mar 27, 2012 at 3:54 AM, Alan Modra wrote: > Now that we are back in stage1, I'd like to apply > http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00304.html, a change to > toc reference rtl in order to properly specify r2 dependencies.  More > commentary in that url.  I'm reposting the patch h

rs6000 toc reference rtl again

2012-03-27 Thread Alan Modra
Now that we are back in stage1, I'd like to apply http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00304.html, a change to toc reference rtl in order to properly specify r2 dependencies. More commentary in that url. I'm reposting the patch here since the old one no longer applies cleanly, and I've ad

Re: rs6000 toc reference rtl

2011-09-07 Thread Alan Modra
On Tue, Sep 06, 2011 at 01:11:26AM +0930, Alan Modra wrote: > Consequently, Mike's change to split rtl for > indirect calls sometimes sees the scheduler moving the r2 load in the > indirect call sequence before a toc reference. Actually, this isn't correct. Mike's change adding rs6000.c rs6000_ca

rs6000 toc reference rtl

2011-09-05 Thread Alan Modra
This patch changes the rtl used by rs6000 for a TOC reference address. The old rtl for -mcmodel=small is: (plus (reg tocreg) (const (unspec [(symbol_ref sym)] UNSPEC_TOCREL))) while the old rtl for -mcmodel=medium/large is: (set (reg rn) (const (plus (reg r2) (high (const (unspec [(symbol_r