[PATCH] - Use of powerpc 64bit instructions in 32bit ABI

David Edelsohn dje@watson.ibm.com
Wed Oct 15 21:23:00 GMT 2003


>>>>> Ian Lance Taylor writes:

Ian> It looks a bit goofy to me, because it appears to implement muldi3 by
Ian> using shifts and ors to build a 64-bit value, then doing the multiply,
Ian> then splitting the result up again.  Look at muldi3_v8plus.  In other
Ian> words, it doesn't appear to really hold 64-bit values in registers.
Ian> It holds 32-bit values, and then assembles them into 64-bit values
Ian> when necessary.

Ian> If it didn't work the way, I think sparc.h would need a more
Ian> complicated definition of HARD_REGNO_NREGS.

	-mv8plus appears to be much more limited functionality that Apple
is proposing.  As Ian mentions, I only see V8PLUS affecting multiply and
shifts.  It's more like the original POWER architecture's use of the MQ
register to implement 64-bit multiplies and shifts.

	What am I misunderstanding about the SPARC v8plus mode?

	Apple's PowerPC patch holds function-local 64-bit values in GPRs
and allows all 64-bit arithmetic and logical operations to be performed.
The functionality is broader, so it requires internal changes to the
common parts of GCC.

Thanks, David



More information about the Gcc-patches mailing list