public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* backend question in alpha nobwx
@ 2003-03-13  8:46 Spundun Bhatt
  2003-03-13 22:53 ` Richard Henderson
  0 siblings, 1 reply; 3+ messages in thread
From: Spundun Bhatt @ 2003-03-13  8:46 UTC (permalink / raw)
  To: gcc

Hi gcc
6 months back I was pointed to alpha backend with nobwx for an example
of architecture with no HI or QI memory accesses. I went through the mov
functions and helper templates.... 

So my question is how is gcc making sure (in alpha backend) that during
reload, HI and QI moves from registers to memory dont take place(They
are not handled by the alpha_expand_mov_nobwx)? To me it looks like,
unless you take special precautions to avoid that.. you will probably
run in to situations where this would happen. 

I tried to merge these alpha hacks  into rs6000(thats what I wanted to
do)... its working for many cases... but I get ICE in gen_reg_rtx for
many other cases. Apparantly its calling "gen_reg_rtx" during reload
(used ddd). 
In alpha_expand_mov_nobwx around line 3390.... its calling gen_reg_rtx.
Which means that its trying to move HI reg contents to memory during
reload and theres no clean way of handling it. This is happening when I
use that code in the rs6000 backend.. but not at its original alpha
backend. 
I have spent quite a lot of time after this during past couple of
months.... I would really appreciate if some one could provide some clue
to this.
Thanx a lot
Spundun
ps: Good luck with the gcc 3.3 release.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: backend question in alpha nobwx
  2003-03-13  8:46 backend question in alpha nobwx Spundun Bhatt
@ 2003-03-13 22:53 ` Richard Henderson
  2003-03-15  9:27   ` Spundun Bhatt
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Henderson @ 2003-03-13 22:53 UTC (permalink / raw)
  To: Spundun Bhatt; +Cc: gcc

On Wed, Mar 12, 2003 at 10:00:12PM -0800, Spundun Bhatt wrote:
> So my question is how is gcc making sure (in alpha backend) that during
> reload, HI and QI moves from registers to memory dont take place

reload_{in,out}{h,q}i.


r~

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: backend question in alpha nobwx
  2003-03-13 22:53 ` Richard Henderson
@ 2003-03-15  9:27   ` Spundun Bhatt
  0 siblings, 0 replies; 3+ messages in thread
From: Spundun Bhatt @ 2003-03-15  9:27 UTC (permalink / raw)
  To: Richard Henderson; +Cc: gcc

Thanx a lot for your reply. The thing that was wrong was that I had to
modify SECONDARY_RELOAD_OUTPUT/INPUT_CLASS macros.
Desperate for a solution... I searched on google and found a clue to
this from a Changelog entry that you made in 1997 ! 
Thanx again.
Spundun.
On Thu, 2003-03-13 at 14:35, Richard Henderson wrote:
> On Wed, Mar 12, 2003 at 10:00:12PM -0800, Spundun Bhatt wrote:
> > So my question is how is gcc making sure (in alpha backend) that during
> > reload, HI and QI moves from registers to memory dont take place
> 
> reload_{in,out}{h,q}i.
> 
> 
> r~

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-03-15  3:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-13  8:46 backend question in alpha nobwx Spundun Bhatt
2003-03-13 22:53 ` Richard Henderson
2003-03-15  9:27   ` Spundun Bhatt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).