On Tue, Mar 20, 2018 at 08:30:57AM -0500, Segher Boessenkool wrote:
> On Thu, Mar 15, 2018 at 01:04:30PM -0400, Michael Meissner wrote:
> > This is patch #2 of my series for improving the PowerPC internal memory
> > support.  It assumes patch #1 has been applied.
> > 
> > This patch moves the rs6000_move_128bit function from rs6000.c to a new 
> > file,
> > rs6000-output.c.
> > 
> > The third patch will create a rs6000_move_64bit function and change both 
> > 32-bit
> > and 64-bit movdi to call it, instead of having all of the instructions be
> > literals.  I will also likely add improvements to setting the reg_addr 
> > address
> > masks for offsetable addresses.
> > 
> > The fourth patch will like move movdd and movdf to call rs6000_move_64bit as
> > well.
> > 
> > I tested this on a little endian power8 system and there were no 
> > regressions.
> > 
> > 2018-03-14  Michael Meissner  <meiss...@linux.vnet.ibm.com>
> > 
> >     * config.gcc (powerpc*-*-*): Add rs6000-output.o to extra_objs.
> >     * config/rs6000/t-rs6000 (rs6000-output.o): Add build rule.
> >     * config/rs6000/rs6000.c (rs6000_output_move_128bit): Move to
> >     rs6000-output.c.
> 
> I am not happy at all with this new file, and it won't even work as far
> as I see (for multi-alternative define_insn's; splitting the strings to
> a different file than the constraints and attributes is asking for
> trouble, better keep it all together).
> 
> Files should bundle together code that conceptually belongs together,
> not some arbitrary split ("these routine return strings that are
> eventually output from the compiler as instructions").

I was eventually planning to move the other functions that split insns and
output the strings there.  But I can keep it in rs6000.c if desired.  I was
just trying to keep the mechanical changes down, rather than move everything
all at once.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Reply via email to