This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
how to have CALL_USED_REGISTERS saved on stack ?
- From: Pierre Mallard <pierremallard at yahoo dot fr>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 17 Sep 2002 17:03:40 +0200 (CEST)
- Subject: how to have CALL_USED_REGISTERS saved on stack ?
Hi my cpu has no push and pop instr.
If I set a few register has CALL_USED_REGISTERS,
While compiling libgcc2.c :
../../gcc-3.0.4/gcc/unwind-dw2-fde.c: In function
`search_object':
../../gcc-3.0.4/gcc/unwind-dw2-fde.c:945:
Unrecognizable insn:
(insn 1064 1061 25 (set (reg:QI 2 r2)
(mem/s:QI (plus:HI (mem/f:HI (plus:HI
(reg/f:HI 12 __stackret_l__)
(const_int 1 [0x1])) 0)
(const_int 9 [0x9])) 14)) -1 (nil)
(nil))
../../gcc-3.0.4/gcc/unwind-dw2-fde.c:945: Internal
compiler error in extract_insn, at recog.c:2218
which doesn't arrive if I don't put register has
CALL_USED_REGISTERS (exept for the FIXED one)..
Then I suppose that gcc has no more register left and
then generate this insn.
To my opinion some registers should be saved on stack
to make the insn split in a more easier way :
mem->reg then mem->reg and not mem(mem)->reg...
I really need to know how gcc save CALL_USED_REGS -or
other regs- on the stack...
Things strange is that I defined also :
#define DEFAULT_CALLER_SAVES ...
Thanks a lot for your help
Pierre Mallard
___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com