Hi,
At present, if a G5 or 970 processor is selected (-mcpu=), we can (and do)
generate 64 bit register usage for m32 code. This appears to be a
long-standing bug.
OK for trunk & all open branches?
Iain
gcc/
* config/rs6000/darwin.h (OS_MISSING_POWERPC64): New.
Index: gcc/config/rs6000/darwin.h
===================================================================
--- gcc/config/rs6000/darwin.h (revision 189712)
+++ gcc/config/rs6000/darwin.h (working copy)
@@ -398,6 +398,9 @@ extern int darwin_emit_branch_islands;
default, as kernel code doesn't save/restore those registers. */
#define OS_MISSING_ALTIVEC (flag_mkernel || flag_apple_kext)
+/* When building m32 code, we cannot use POWERPC64. */
+#define OS_MISSING_POWERPC64 !TARGET_64BIT
+
/* Darwin has support for section anchors on powerpc*.
It is disabled for any section containing a "zero-sized item" (because these
are re-written as size=1 to be compatible with the OSX ld64).