Mark Dickinson <[email protected]> added the comment:
> unsigned long long m(unsigned long long a, unsigned long b)
> {
> return a*b;
> }
I think that's doing a 32 x 64 -> 64 multiplication; what's being used is
more like this:
unsigned long long m(unsigned long a, unsigned long b)
{
return (unsigned long long)a*b;
}
which gcc -O3 compiles to:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %eax
mull 8(%ebp)
leave
ret
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue4258>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com