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: grischka
Subject: Re: [Tinycc-devel] Bug: unsigned arithmetic on x86-64
Date: Wed, 17 Nov 2010 20:52:57 +0100
User-agent: Thunderbird 2.0.0.23 (Windows/20090812)

address@hidden wrote:

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


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]