Implementation notes: amd64, pluton1mn, crypto_dh/ed448goldilocks

Computer: pluton1mn
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_dh
Primitive: ed448goldilocks
TimeImplementationCompilerBenchmark dateSUPERCOP version
7346150amd64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
7414974amd64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
7546294amd64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
764150864gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
822284464gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
843677864gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
873990664gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
8996568amd64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
1025969032gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
1218611832gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
1230363432gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
1277973232gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731

Test failure

Implementation: crypto_dh/ed448goldilocks/32
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer 32
icc -xMIC-AVX512 -O3 -fomit-frame-pointer 32

Test failure

Implementation: crypto_dh/ed448goldilocks/64
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
error 111
crypto_dh returns nonzero

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer 64 amd64
icc -xMIC-AVX512 -O3 -fomit-frame-pointer 64 amd64

Compiler output

Implementation: crypto_dh/ed448goldilocks/arm32
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
crandom.c: In file included from magic.h:15:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194:24: error: incompatible types when initializing type 'big_register_t {aka __vector(8) unsigned int}' using type 'mask_t {aka unsigned int}'
crandom.c: big_register_t m = doswap;
crandom.c: ^~~~~~
crandom.c: p448.h: In function 'p448_cond_neg':
crandom.c: p448.h:270:24: error: incompatible types when initializing type 'big_register_t {aka __vector(8) unsigned int}' using type 'mask_t {aka unsigned int}'
crandom.c: big_register_t m = doNegate;
crandom.c: ^~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv arm32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv arm32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv arm32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv arm32

Compiler output

Implementation: crypto_dh/ed448goldilocks/arm32
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
crandom.c: In file included from magic.h(15),
crandom.c: from crandom.c(11):
crandom.c: p448.h(194): error: a value of type "mask_t={word_t={uint32_t={unsigned int}}}" cannot be used to initialize an entity of type "big_register_t"
crandom.c: big_register_t m = doswap;
crandom.c: ^
crandom.c:
crandom.c: In file included from magic.h(15),
crandom.c: from crandom.c(11):
crandom.c: p448.h(270): error: a value of type "mask_t={word_t={uint32_t={unsigned int}}}" cannot be used to initialize an entity of type "big_register_t"
crandom.c: big_register_t m = doNegate;
crandom.c: ^
crandom.c:
crandom.c: compilation aborted for crandom.c (code 2)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer arm32
icc -xMIC-AVX512 -O3 -fomit-frame-pointer arm32

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
scalarmul.c: scalarmul.c(158): warning #2591: use of a const variable in a constant expression is nonstandard in C
scalarmul.c: struct tw_pniels_t pn, multiples[NTABLE];
scalarmul.c: ^
scalarmul.c:
scalarmul.c: scalarmul.c(220): warning #2591: use of a const variable in a constant expression is nonstandard in C
scalarmul.c: struct tw_pniels_t pn, multiples[NTABLE];
scalarmul.c: ^
scalarmul.c:
scalarmul.c: scalarmul.c(780): warning #2591: use of a const variable in a constant expression is nonstandard in C
scalarmul.c: struct smvt_control control[nbits/(table_bits+1)+3];
scalarmul.c: ^
scalarmul.c:
scalarmul.c: scalarmul.c(784): warning #2591: use of a const variable in a constant expression is nonstandard in C
scalarmul.c: struct tw_pniels_t precmp[1 scalarmul.c: ^
scalarmul.c:
scalarmul.c: scalarmul.c(866): warning #2591: use of a const variable in a constant expression is nonstandard in C
scalarmul.c: struct smvt_control control_var[nbits_var/(table_bits_var+1)+3];
scalarmul.c: ^
scalarmul.c:
scalarmul.c: scalarmul.c(874): warning #2591: use of a const variable in a constant expression is nonstandard in C
scalarmul.c: struct tw_pniels_t precmp_var[1 scalarmul.c: ^
scalarmul.c:

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer 32 64 amd64
icc -xMIC-AVX512 -O3 -fomit-frame-pointer 32 64 amd64