tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Bug: unsigned arithmetic on x86-64


From: ghe
Subject: Re: [Tinycc-devel] Bug: unsigned arithmetic on x86-64
Date: Wed, 17 Nov 2010 21:16:57 +0100 (CET)



Hi list,

The following code fails with tcc version 0.9.25 on AMD64 (Debian): srem and squo are correct, but urem and uquo are zero... The code works on i386.

Works for me on win64 with latest mob, maybe it was fixed:
  http://repo.or.cz/w/tinycc.git?a=shortlog;h=refs/heads/mob

Maybe we should release tcc-0.9.26, eventually.

--- grischka


Indeed, it also works for me. Sorry, I didn't check the latest development version before posting...

--ghe


int main ()
{
  unsigned long long int unum, uden, uquo, urem;
  long long int snum, sden, squo, srem;

  unum = 2111062325329920;
  snum = unum;
  uden = 52428800;
  sden = uden;

  uquo = unum / uden;
  urem = unum % uden;
  squo = snum / sden;
  srem = snum % sden;

  if (uquo != squo || urem != srem)
    {
      printf ("BUG:\n");
      printf (" %lld != %lld\n", uquo, squo);
      printf (" %lld != %lld\n", urem, srem);
    }
  else
    printf ("OK\n");
}

Thanks,

--ghe




reply via email to

[Prev in Thread] Current Thread [Next in Thread]