Implementation notes: ppc64, power9, crypto_dh/curve25519

Computer: power9
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20210326
Operation: crypto_dh
Primitive: curve25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
614297272 0 054635 684 1928T:refgcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
614335268 0 053931 684 1928T:refgcc_-mcpu=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
614341272 0 056255 684 1944T:refgcc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
614416272 0 054611 684 1928T:refgcc_-mcpu=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
614441184 0 051231 684 1904T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
614548268 0 053931 684 1928T:refgcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
614554184 0 056485 692 1920T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
614585184 0 054981 692 1920T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
614609180 0 050719 684 1904T:refclang_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
614622252 0 052027 676 1920T:refgcc_-mcpu=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
614627272 0 055991 684 1944T:refgcc_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
615007252 0 052027 676 1920T:refgcc_-mcpu=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
615055272 0 055991 684 1944T:refgcc_-mcpu=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
615203268 0 053931 684 1928T:refgcc_-mcpu=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
615322184 0 051231 684 1904T:refclang_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
615626184 0 054373 692 1904T:refclang_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
615720368 0 056485 692 1920T:refclang_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
616372252 0 052091 676 1920T:refgcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
616726180 0 050719 684 1904T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
623712272 0 054611 684 1928T:refgcc_-mcpu=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
631552184 0 054373 692 1904T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326

Test failure

Implementation: T:mpfq
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq

Test failure

Implementation: T:mpfq
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_dh not associative
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq

Compiler output

Implementation: T:mpfq
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mpfq_p_25519.c: In file included from mpfq_p_25519.c:5:
mpfq_p_25519.c: ./x86_64/mpfq_p_25519.c:111:1: warning: non-void function does not return a value [-Wreturn-type]
mpfq_p_25519.c: }
mpfq_p_25519.c: ^
mpfq_p_25519.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq

Compiler output

Implementation: T:mpfq
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mpfq_p_25519.c: In file included from mpfq_p_25519.c:5:
mpfq_p_25519.c: ./x86_64/mpfq_p_25519.c:111:1: warning: non-void function does not return a value [-Wreturn-type]
mpfq_p_25519.c: }
mpfq_p_25519.c: ^
mpfq_p_25519.c: 1 warning generated.
mpfq_p_25519.c: In file included from mpfq_p_25519.c:5:
mpfq_p_25519.c: ./x86_64/mpfq_p_25519.c:111:1: warning: non-void function does not return a value [-Wreturn-type]
mpfq_p_25519.c: }
mpfq_p_25519.c: ^
mpfq_p_25519.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq

Compiler output

Implementation: T:mpfq
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
curve25519.c: In file included from curve25519.c:18:
curve25519.c: /home/supercop/supercop-20210326/supercop-data/power9/ppc64/include/gmp.h: In function 'mpfq_p_25519_reduce':
curve25519.c: /home/supercop/supercop-20210326/supercop-data/power9/ppc64/include/gmp.h:2121:22: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
curve25519.c: 2121 | (dst)[__gmp_j] = (src)[__gmp_j]; \
curve25519.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
curve25519.c: /home/supercop/supercop-20210326/supercop-data/power9/ppc64/include/gmp.h:2019:4: note: in expansion of macro '__GMPN_COPY_REST'
curve25519.c: 2019 | __GMPN_COPY_REST (dst, src, n, 1); \
curve25519.c: | ^~~~~~~~~~~~~~~~
curve25519.c: /home/supercop/supercop-20210326/supercop-data/power9/ppc64/include/gmp.h:2068:3: note: in expansion of macro '__GMPN_AORS_1'
curve25519.c: 2068 | __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB)
curve25519.c: | ^~~~~~~~~~~~~
curve25519.c: /home/supercop/supercop-20210326/supercop-data/power9/ppc64/include/gmp.h:2155:3: note: in expansion of macro '__GMPN_ADD_1'
curve25519.c: 2155 | __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n);
curve25519.c: | ^~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq
gcc -mcpu=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:mpfq