This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH - PPC split slow unaligned load/store into smaller load/stores


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]