This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/21291] can't find a register in class 'GENERAL_REGS' while reloading 'asm'


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-29 21:45 -------
Reduced testcase:
typedef unsigned long bngdigit;
typedef bngdigit * bng;
typedef unsigned int bngcarry;
typedef unsigned long bngsize;

bngdigit bng_ia32_mult_sub_digit
     (bng a , bngsize alen,
      bng b , bngsize blen,
      bngdigit d)
{
  bngdigit out, tmp;
  bngcarry carry;
bngdigit a11;

  alen -= blen;
  out = 0;
    asm(""
        : "+r" (a), "+r" (b), "+mr" (blen), "+mr" (out), "=&r" (tmp)
        : "mr" (d)
        : "eax", "edx");
  if (alen == 0) {a11 =out; goto t;}

  a11 = 1;
  t:
return a11;
}

We are just running out of registers which is what x86 is known for.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]