This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
backend question in alpha nobwx
- From: Spundun Bhatt <spundun at ISI dot EDU>
- To: gcc at gcc dot gnu dot org
- Date: 12 Mar 2003 22:00:12 -0800
- Subject: backend question in alpha nobwx
- Organization:
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.