Implementation notes: amd64, waldorf, crypto_scalarmult/curve25519

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_scalarmult
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
1498536amd64-51gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1716176amd64-51gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1716916amd64-51gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1718768amd64-51gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1735172amd64-51clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
1764176amd64-64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
1775676amd64-64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
1776020amd64-64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
1778356amd64-64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
1782592amd64-64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
1817188donna_c64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
2034360donna_c64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
2103880donna_c64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
2130176donna_c64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
2154716donna_c64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
2818920donnagcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
2926860donnagcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
2927336donnagcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
3043456donnagcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
3074168ref10gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
3282992ref10gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
3503180ref10gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
3617032ref10gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
6030568ref10clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
77371776refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
146465528refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
147619764refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
148036580refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
150968576refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715

Test failure

Implementation: crypto_scalarmult/curve25519/donna
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments donna sandy2x
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv sandy2x
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv sandy2x
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv sandy2x
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv sandy2x

Compiler output

Implementation: crypto_scalarmult/curve25519/donna_c64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
smult.c: smult.c:149:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fsquare_times(felem output, const felem in, limb count) {
smult.c: ^
smult.c: smult.c:100:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fmul(felem output, const felem in2, const felem in) {
smult.c: ^
smult.c: smult.c:70:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fscalar_product(felem output, const felem in, const limb scalar) {
smult.c: ^
smult.c: smult.c:56:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fdifference_backwards(felem out, const felem in) {
smult.c: ^
smult.c: smult.c:41:1: warning: always_inline function might not be inlinable [-Wattributes]
smult.c: fsum(limb *output, const limb *in) {
smult.c: ^

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