Subject: Significant cleanup of common PowerPC assembly code
To: None <port-powerpc@NetBSD.org>
From: Matt Thomas <matt@3am-software.com>
List: port-powerpc
Date: 08/03/2003 18:38:16
I've committed new versions of locore_subr.S and the OEA trap_subr.S 
which have no functional changes.  PowerPC64 doesn't have the lmw/stmw 
(load/store multiple word) equivalents (e.g no lmd/stmd).  Thus the 
continued use of those instructions will make code portability between 
PPC32 and PPC64 difficult.  The easy way to avoid those difficult is to 
just stop using them.

The other significant change is that those files no longer use stw/lwz 
directly.
Instead pseudo-instructions ldint/stint, ldreg/streg, ldlong/stlong, 
ldptr/stptr, and their update variants have been added.  Assembly (that 
may be run on PPC64) should use them.  Those pseudo-instructions will 
emit the appropriate width load/store instruction for the PPC variant 
that is being targeted.

I'll will be converting much of the existing .S files for PowerPC to be 
using those instructions.
-- 
Matt Thomas                     email: matt@3am-software.com
3am Software Foundry              www: 
http://3am-software.com/bio/matt/ Cupertino, CA              
disclaimer: I avow all knowledge of this message.