This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/72827] [7 Regression] gnat bootstrap broken on powerpc64le-linux-gnu
- From: "meissner at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 30 Aug 2016 20:47:16 +0000
- Subject: [Bug target/72827] [7 Regression] gnat bootstrap broken on powerpc64le-linux-gnu
- Auto-submitted: auto-generated
- References: <bug-72827-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72827
--- Comment #20 from Michael Meissner <meissner at gcc dot gnu.org> ---
Yeah, it sounds like you don't want to adjust any of the stack related
registers.
However, in looking at this $#!%, we probably need to rewrite it so it doesn't
do clever tricks like this. Which probably means a trip through the whole
legitimize addressing support and secondary reload.
One thing that might help is removing the test for TARGET_QUAD_WORD around line
9448 of rs6000.c, and look for other places in rs6000.c that TImode and
TARGET_QUAD_WORD are mentioned near each other.
On LE systems, TARGET_QUAD_WORD is false because the LQ/STQ load the words in
the wrong order.
One consequence of this is it only allows TImode value addresses to be a single
register, on the other hand, when you are moving TImode in GPRs, you can use
D-FORM addressing to address the secondary parts.
In theory, PRE_MODIFY, PRE_INC, and PRE_DEC should never be set for TImode.