Ciao,

Il 2020-02-11 14:42 ni...@lysator.liu.se ha scritto:
Marco Bodrato <bodr...@mail.dm.unipi.it> writes:

diff -r f5601c2a8b11 mpz/cmp.c
--- a/mpz/cmp.c Sun Feb 09 16:16:19 2020 +0100
+++ b/mpz/cmp.c Tue Feb 11 14:20:39 2020 +0100
@@ -35,15 +35,15 @@

+  cmp = (usize > vsize) - (usize < vsize);
+  if (cmp != 0)
+    return cmp;

I would be tempted to keep it simple,

  if (usize != vsize)
    return (usize > vsize) ? 1 : -1;

It's not clear to me if this is worth micro optimizing, and ensure we
get only a single branch.

I believe that current compilers on modern architectures should compile the (usize > vsize)?1:-1 expression with no branches.

I tested gcc on amd64 and on arm64, and on both archs your code is compiled with the single (usize != vsize) branch.

Your proposal is simpler to read too.

Ĝis,
m

--
http://bodrato.it/papers/
_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-devel

Reply via email to