> [ Attached Message ]From:Paul Zimmermann
[...]
> after all, I now believe this is a compiler failure, since the MPN_ZERO
> instruction is not passed to GMP, but it is converted into memset by
> mpfr-gmp.h. The documentation for memset does not forbid a zero size.

Ah, now it makes sense that the problem only appears on T2 and not
other sparc, since there is a different implementation of memset in
libc there:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc_psr/sun4v/common/memset.s

Although from what I can see the case where the third argument is 0
looks quite safe. Or maybe this version is not in solaris 10, just
opensolaris? It would be interesting to know which version is used,
all those I checked looked all right (for the case memset(*,*,0)), and
there is less space for a compiler bug when the code is written in
assembly...

> However I was not able to reproduce the problem with the following
> simple program:
[...]
>   a[0] = (mp_limb_t) 2684354560;

I would have tried with a more random number (in case the bug sets the
last bits to 0).

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to