Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Significant cleanup of common PowerPC assembly code



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@localhost
3am Software Foundry www: http://3am-software.com/bio/matt/ Cupertino, CA disclaimer: I avow all knowledge of this message.



Home | Main Index | Thread Index | Old Index