This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/13534] Invalid offset generated for loading 64-bit GPR on PPC64
- From: "lucier at math dot purdue dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Dec 2003 23:07:42 -0000
- Subject: [Bug target/13534] Invalid offset generated for loading 64-bit GPR on PPC64
- References: <20031231213447.13534.lucier@math.purdue.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From lucier at math dot purdue dot edu 2003-12-31 23:07 -------
If you change all instances of "double" to "long long" in the test code, correct
code is generated. Because there are no actual operations done on the "long
long" or "double" values except for loading and passing them to a function, this
suggests to me that the offset check is done before the register class is
chosen, and that the offset check is based on the mode of the operand, not on
the register class that is chosen to hold that operand. As I now know, however,
whether an offset is correct depends on the register class chosen to hold the
value, not on the mode of that value.
Brad
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13534