This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: rewrite ia64 symbol references
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: gcc-patches at gcc dot gnu dot org, rth at redhat dot com
- Date: Fri, 9 May 2003 12:48:58 -0700 (PDT)
- Subject: Re: rewrite ia64 symbol references
- Reply-to: sje at cup dot hp dot com
Richard,
I am having trouble with your changes to ia64_expand_load_address when I
am in 32 bit mode on IA64 HP-UX and was wondering if you could recommend
a fix.
The problem is that I can enter ia64_expand_load_address with a dest
argument that is an SImode register instead of a DImode register.
Before, when this happened I would use scratch (if it was DImode) or
create a temporary DImode register to use before copying it back to the
original dest and putting it in SImode. Is this still the best way to
handle this? Should I put back code to create a temporary register if
dest is not in DImode? Are there times when creating a temporary would
cause problems?
Here is the error I currently get during my bootstrap:
[hpadl731] $ obj_gcc/gcc/cc1 x.c
bar
x.c: In function `bar':
x.c:6: error: unrecognizable insn:
(insn 28 21 29 0 7ef7e280 (set (reg:SI 120 r36)
(plus:DI (high:DI (symbol_ref:SI ("x") [flags 0x40] <var_decl 7ef7c580 x
>))
(reg:DI 1 r1))) -1 (nil)
(nil))
x.c:6: internal compiler error: in extract_insn, at recog.c:2188
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Steve Ellcey
sje@cup.hp.com