gcc-2.95.1,2/i386 internal error--unrecognizable insn
Etienne LORRAIN
etienne_lorrain@yahoo.fr
Mon Nov 8 06:39:00 GMT 1999
Hello,
Using gcc-2.95.1-0.5.i386.rpm (or newer) from
ftp://ftp.varesearch.com ,
but it happen on different places, mostly when using
option -Os. I have it also for EGCS-1.1+ with "-Os",
on my project.
Removing the line " llvar += ul; " stops the fault,
probably by reducing register pressure.
Have a nice day,
Etienne.
[root@localhost gujin]# cat err.c
extern inline unsigned long
ull_div_ul (unsigned long long ull, unsigned long ul,
unsigned long *remainder)
{
unsigned long result;
asm const (" divl %3 "
: "=a" (result), "=d" (*remainder)
: "A" (ull), "rm" (ul) );
return result;
}
unsigned long fct (unsigned long long llvar, unsigned
long ul)
{
unsigned long rem;
llvar += ul;
return ull_div_ul (llvar, ul, &rem);
}
[root@localhost gujin]# gcc -Os err.c
err.c: In function `fct':
err.c:20: internal error--unrecognizable insn:
(insn/i 19 18 25 (parallel[
(set (reg/v:SI 0 %eax)
(asm_operands (" divl %3 ") ("=a") 0[
(reg:DI 1 %edx)
(reg/v:SI 0 %eax)
]
[
(asm_input:DI ("A"))
(asm_input:SI ("rm"))
] ("err.c") 8))
(set (reg:SI 1 %edx)
(asm_operands (" divl %3 ") ("=d") 1[
(reg:DI 1 %edx)
(reg/v:SI 0 %eax)
]
[
(asm_input:DI ("A"))
(asm_input:SI ("rm"))
] ("err.c") 8))
] ) -1 (insn_list 13 (nil))
(nil))
[root@localhost gujin]#
=====
___________________________________________________________
Do You Yahoo!?
Votre e-mail @yahoo.fr gratuit sur http://courrier.yahoo.fr
More information about the Gcc-bugs
mailing list