|
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
[Prev in Thread] | Current Thread | [Next in Thread] |