This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PR 6394
- From: law at redhat dot com
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: dje at watson dot ibm dot com, geoffk at geoffk dot org, gcc at gcc dot gnu dot org
- Date: Tue, 30 Apr 2002 15:54:39 -0600
- Subject: Re: PR 6394
- Reply-to: law at redhat dot com
In message <200204302128.g3ULSB8S000435@hiauly1.hia.nrc.ca>, "John David Anglin
" writes:
> > In message <200204302007.g3UK7DeK000134@hiauly1.hia.nrc.ca>, "John David
> > Anglin" writes:
> > > DImode is also allowed in FPRs on the PA. The class used by global_all
> oc
> > > for the pseudo was GENERAL_OR_FP_REGS. This was the first class select
> ed
> > > for the psuedo and a register %fr22 was selected from this class.
> > Does the choice of GENERAL_OR_FP_REGS make sense given the uses/sets of
> > the particular register? [ I'm probably not going to have time to look
> > seriously at this today. ]
>
> No. I would say the class should be GENERAL_REGS.
>From looking at the RTL dump, I'm less certain.
The relevalt tidbits:
[ ... paths which set reg714 ... ]
(insn 3010 3481 3011 (set (reg/f:DI 66)
(reg:DI 714)) 119 {*pa.md:3106} (nil)
(expr_list:REG_DEAD (reg:DI 714)
(nil)))
[ ... ]
(insn 3088 3494 3091 (set (reg/i:DI 28 %r28)
(reg/f:DI 66)) 119 {*pa.md:3106} (nil)
(expr_list:REG_DEAD (reg/f:DI 66)
(nil)))
I suspect the copy from reg714 to reg66 is what's causing us to get bumped
into the various FP classes.
What I can't find a reason for is why we would use reg66 explicitly like that
in the first place. Where in the world did (reg 66) come from?
jeff