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