* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
@ 2005-01-10 11:46 ` jbeulich at novell dot com
2005-01-10 15:31 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: jbeulich at novell dot com @ 2005-01-10 11:46 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |3.3.3 3.4.3 4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
2005-01-10 11:46 ` [Bug target/19357] " jbeulich at novell dot com
@ 2005-01-10 15:31 ` pinskia at gcc dot gnu dot org
2005-01-14 4:03 ` wilson at gcc dot gnu dot org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-10 15:31 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-10 15:31 -------
Confirmed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
GCC build triplet|ia64-*-* |
GCC host triplet|ia64-*-* |
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2005-01-10 15:31:09
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
2005-01-10 11:46 ` [Bug target/19357] " jbeulich at novell dot com
2005-01-10 15:31 ` pinskia at gcc dot gnu dot org
@ 2005-01-14 4:03 ` wilson at gcc dot gnu dot org
2005-01-14 8:58 ` jbeulich at novell dot com
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: wilson at gcc dot gnu dot org @ 2005-01-14 4:03 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
` (2 preceding siblings ...)
2005-01-14 4:03 ` wilson at gcc dot gnu dot org
@ 2005-01-14 8:58 ` jbeulich at novell dot com
2005-01-14 21:52 ` wilson at tuliptree dot org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: jbeulich at novell dot com @ 2005-01-14 8:58 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From jbeulich at novell dot com 2005-01-14 08:58 -------
Isn't the MEM case moving things in the wrong direction? If so, and since I
tried to fix this myself before submitting the bug, simply swapping the operands
of emit_move_insn doesn't seem to work (made the compiler die when optimizing
for me).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
` (3 preceding siblings ...)
2005-01-14 8:58 ` jbeulich at novell dot com
@ 2005-01-14 21:52 ` wilson at tuliptree dot org
2005-01-17 8:06 ` jbeulich at novell dot com
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: wilson at tuliptree dot org @ 2005-01-14 21:52 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From wilson at tuliptree dot org 2005-01-14 21:51 -------
Subject: Re: ICE when long double argument arrives in
general register
On Fri, 2005-01-14 at 00:58, jbeulich at novell dot com wrote:
> ------- Additional Comments From jbeulich at novell dot com 2005-01-14 08:58 -------
> Isn't the MEM case moving things in the wrong direction? If so, and since I
> tried to fix this myself before submitting the bug, simply swapping the operands
> of emit_move_insn doesn't seem to work (made the compiler die when optimizing
> for me).
Yes. Stupid mistake on my part. I switched the operands and everything
seems OK.
What exactly was the problem you saw? I don't see a problem with my
fixed patch, with or without optimization, with my testcase. Was the
problem with your own patch? Maybe there was some other problem with
your patch. If the problem is with my patch, then I need to know how to
reproduce it in order to fix it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
` (4 preceding siblings ...)
2005-01-14 21:52 ` wilson at tuliptree dot org
@ 2005-01-17 8:06 ` jbeulich at novell dot com
2005-01-18 3:51 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: jbeulich at novell dot com @ 2005-01-17 8:06 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From jbeulich at novell dot com 2005-01-17 08:06 -------
No, it was with my attempt to fix this. As I further thought about it, maybe the
whole difference was that I didn't do the TImode conversion prior to the spill...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
` (5 preceding siblings ...)
2005-01-17 8:06 ` jbeulich at novell dot com
@ 2005-01-18 3:51 ` cvs-commit at gcc dot gnu dot org
2005-01-18 4:20 ` wilson at gcc dot gnu dot org
2005-04-20 2:01 ` pinskia at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-01-18 3:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-18 03:51 -------
Subject: Bug 19357
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: wilson@gcc.gnu.org 2005-01-18 03:51:06
Modified files:
gcc : ChangeLog
gcc/config/ia64: ia64.md
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/gcc.c-torture/compile: pr19357.c
Log message:
Fix ICE with long double after float HFA.
PR target/19357
* config/ia64/ia64.md (movxf): Handle general register source. Adjust
comment to document why.
* gcc.c-torture/compile/pr19357.c: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7162&r2=2.7163
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.md.diff?cvsroot=gcc&r1=1.142&r2=1.143
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4898&r2=1.4899
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/pr19357.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
` (6 preceding siblings ...)
2005-01-18 3:51 ` cvs-commit at gcc dot gnu dot org
@ 2005-01-18 4:20 ` wilson at gcc dot gnu dot org
2005-04-20 2:01 ` pinskia at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: wilson at gcc dot gnu dot org @ 2005-01-18 4:20 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From wilson at gcc dot gnu dot org 2005-01-18 04:20 -------
Fixed on mainline, testcase added.
This fails in gcc-3.0, and presumably also all other releases, and hence is not
a regression, and thus not eligible for the gcc-3.3 and gcc-3.4 branches, so I
am closing as fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Known to fail|3.3.3 3.4.3 4.0.0 |3.3.3 3.4.3
Known to work| |4.0.0
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/19357] ICE when long double argument arrives in general register
2005-01-10 11:46 [Bug target/19357] New: ICE when long double argument arrives in general register jbeulich at novell dot com
` (7 preceding siblings ...)
2005-01-18 4:20 ` wilson at gcc dot gnu dot org
@ 2005-04-20 2:01 ` pinskia at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-20 2:01 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19357
^ permalink raw reply [flat|nested] 10+ messages in thread