Ciao,

Il 2020-02-11 14:56 Marc Glisse ha scritto:
On Tue, 11 Feb 2020, Niels Möller wrote:
 if (usize != vsize)
   return (usize > vsize) ? 1 : -1;

On x86_64, both gcc and clang optimize (usize > vsize) ? 1 : -1 to 2 *
(usize > vsize) - 1 (as a single LEA for gcc, 2 ADD for llvm). So the
generated code may be just as good with the simple code.

We know, optimising is a complex task, and we are not writing a compiler here. But it is funnier to observe how the compilers translate the last line of mpz/cmp.c:
  return (usize >= 0 ? cmp : -cmp);
in the branches where the compiler "knows" that cmp is zero :-)

Ĝis,
m
_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-devel

Reply via email to