[Bug target/19357] ICE when long double argument arrives in general register
wilson at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Jan 14 04:03:00 GMT 2005
------- Additional Comments From wilson at gcc dot gnu dot org 2005-01-14 04:02 -------
The given testcase fails only without optimization. It fails because we end up
with an unhandled XFmode move from a general reg to a MEM. A little more
interesting testcase is to modify testf to return the long double. This fails
with and without optimization. Without optimization is the same as before.
With optimization, we have an unhandled XFmode from a general reg to a pseudo,
which is later allocated to the FP return value register.
So the movxf expander needs to handle a general register source when the
destination can be either a mem or a pseudo.
I attached my modified testcase, and a patch that works for both the optimized
and unoptimized cases.
This is as yet untested, as my IA-64 machine is busy running tests for other PRs.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |wilson at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2005-01-10 15:31:09 |2005-01-14 04:02:58
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
More information about the Gcc-bugs
mailing list