This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: AIX 4.3 64-bit problem with libstdc++
- To: Jeffrey Law <law at cygnus dot com>
- Subject: Re: AIX 4.3 64-bit problem with libstdc++
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Thu, 03 Sep 1998 18:37:39 -0400
- Cc: egcs-bugs at cygnus dot com, Michael Meissner <meissner at cygnus dot com>
I just checked in a patch which removes the explicit
secondary-reload-like functionality from rs6000.md movsf and movdf patterns
for *TARGET_POWERPC64 only*. That functionality originally was written long
before secondary-reload support was completed in GCC. Removing that code
fixes the libstdc++ build problem and drastically *improves* AIX 4.3 64-bit
c-torture results: compile drops from 18 failures to 2, execute drops from
49 failures to 1, and unsorted drops from 40 failures to 0,
As I mentioned in my previous message, Kenner contacted Meissner
and me about removing that code but I did not want to potentially
destabilize the port. Kenner reported an Ada problem and both the
libstdc++ build failure and most AIX 4.3 64-bit torture test failures
centered around emit_move_insn / emit_move_insn_1 called from the now
disabled code.
The current patch only disables the functionality for
TARGET_POWERPC64 so all of the 32-bit support is unaffected. AIX 4.3 64-bit
was not functioning properly before and now it is, so things only have
improved and I consider this safe for inclusion in egcs-1.1.1. When egcs-1.1
has settled, we should consider removing the code altogether and allowing
secondary reload to do all of the work for 32-bit targets as well.
David