This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/34091] [4.2/4.3 Regression] ICE in reload_cse_simplify_operands, at postreload.c:392
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Nov 2007 22:14:07 -0000
- Subject: [Bug target/34091] [4.2/4.3 Regression] ICE in reload_cse_simplify_operands, at postreload.c:392
- References: <bug-34091-12387@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from dave at hiauly1 dot hia dot nrc dot ca 2007-11-24 22:14 -------
Subject: Re: [4.2/4.3 Regression] ICE in reload_cse_simplify_operands, at
postreload.c:392
> > I haven't seen the paradoxical subreg in a float/fix conversion
> > insns with the current patch. I did see this in some of the first
> > versions of pa_cannot_change_mode_class. I think I eliminated
> > this problem by prevent mode changes in the FP registers:
> >
> > if (MAYBE_FP_REG_CLASS_P (class))
> > return true;
> >
> > Due you think this problem is latent?
>
> On SPARC or on the PA even with CANNOT_CHANGE_MODE_CLASS?
I meant on the PA using the CANNOT_CHANGE_MODE_CLASS patch.
What I saw when mode changes were allowed was something like
the following:
set (subreg:SI (mem:HI)) (fix:SI (fix:SF))
where the mem was a spilled HImode pseudo. At the time,
I thought I had stopped mode changes to QImode/HImode in
the FPU registers but I believe they got tied to DImode.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34091