This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH - PPC split slow unaligned load/store into smaller load/stores
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: David Edelsohn <dje at watson dot ibm dot com>,Fariborz Jahanian <fjahanian at apple dot com>, gcc-patches at gcc dot gnu dot org,Janis Johnson <janis187 at us dot ibm dot com>
- Date: Mon, 9 Feb 2004 14:48:16 +1030
- Subject: Re: PATCH - PPC split slow unaligned load/store into smaller load/stores
- References: <00A48C0A-46C2-11D8-ABAE-000A95BA54A6@apple.com> <200401231853.i0NIrOT33474@makai.watson.ibm.com> <20040128014215.GE2627@bubble.modra.org>
On Wed, Jan 28, 2004 at 12:12:15PM +1030, Alan Modra wrote:
> On Fri, Jan 23, 2004 at 01:53:24PM -0500, David Edelsohn wrote:
> > 2004-01-13 Fariborz Jahanian <fjahanian@apple.com>
> >
> > * config/rs6000/rs6000.c (rs6000_emit_move): split slow
> > unaligned load/store into smaller loads and stores.
> >
> > This patch is okay.
> >
> > Alan and Janis: Can you be on the lookout if this has any impact
> > on PPC64 Linux?
>
> Breaks.
Something is still broken.
Current mainline, end of read_encoded_value_with_base in
libgcc/unwind-dw2.o on powerpc64-linux looks like:
458: 80 1f 00 00 lwz r0,0(r31)
45c: 78 1f 00 0e rldimi r31,r0,32,0
460: 81 3f 00 04 lwz r9,4(r31)
464: 79 3f 00 2c rldimi r31,r9,0,32
Note the trashing of r31 before the second lwz, which leads to
segfaults. In any case there's no need to move the value 32 bits at a
time.
--
Alan Modra
IBM OzLabs - Linux Technology Centre