myarch64 is my port. Then perhaps this is an back-end problem on my port. I'll try to determine this today and keep you posted.
Jc On Thu, Dec 17, 2009 at 9:29 PM, Jie Zhang <jie.zh...@analog.com> wrote: > On 12/18/2009 06:27 AM, Jean Christophe Beyler wrote: >> >> Actually, I just finished updating my 4.3.2 to 4.3.3 and tested it and >> I still have the same issue. >> >> This seems to be a problem more than "just" 4.3.2. >> >> Here is the test program: >> #include<stdio.h> >> #include<gmp.h> >> >> int main() { >> mpz_t a,b; >> mpz_init_set_str(a, "10000000000", 10); // program works with 10^9, >> but not >> // with 10^10 (10^20> 2^64) >> mpz_init_set(b, a); >> mpz_mul(a, a, a); >> gmp_printf("first, in GMP mpz_mul(a,a,a) with a=%Zd gives %Zd \n", b, >> a); >> mpz_set(b, a); >> mpz_mul(a, a, a); >> gmp_printf("second, in GMP mpz_mul(a,a,a) with a=%Zd gives %Zd \n", b, >> a); >> return 0; >> } >> >> We obtain: >> first, in GMP mpz_mul(a,a,a) with a=10000000000 gives >> 100000000000000000000 >> second, in GMP mpz_mul(a,a,a) with a=100000000000000000000 gives >> >> 22545360131605409929222215637663717291581095979492475463214517286840718852096 >> >> Which clearly is wrong for the second output. >> >> This was tested with a 64 bit architecture. I know that with a 4.1.1 >> port of the compiler, I do not see this issue. >> >> I will see if I can port it forward to see if I still see the problem >> but it might be difficult to port from 4.3.2 to 4.4.2, I'm not sure >> how many things have changed but I'm sure quite a bit ! >> >> This is the -v of my GCC, version 4.3.3: >> Using built-in specs. >> Target: myarch64-linux-elf >> Configured with: >> /home/beyler/myarch64/src/myarch64-gcc-4.3.2/configure >> --target=myarch64-linux-elf >> --with-headers=/home/beyler/myarch64/src/newlib-1.16.0/newlib/libc/include >> --prefix=/home/beyler/myarch64/local --disable-nls >> --enable-languages=c --with-newlib --disable-libssp >> --with-mpfr=/home/beyler/myarch64/local >> Thread model: single >> gcc version 4.3.3 (GCC) >> > What's myarch64? I got the correct result for your test with vanilla > gcc-4.3.2 and gmp-4.3.1 on Debian unstable AMD64. > > > Jie >