Implementation notes: amd64, h4atom, crypto_scalarmult/curve25519

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_scalarmult
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
4457472amd64-64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081420160806
4458264amd64-64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
4458960amd64-64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
4458968amd64-64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
4459288amd64-64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
4957824donna_c64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
5123416donna_c64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
5467328donna_c64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
5618072donna_c64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
6008816amd64-51clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081420160806
6009264amd64-51gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
6009376amd64-51gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
6009624amd64-51gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
6009632amd64-51gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
6134160donna_c64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081420160806
7815328donnagcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
7817296donnagcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
7837872donnagcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
7929832donnagcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
12302696ref10gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
12324392ref10gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
12573416ref10gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
13165232ref10gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
13863008ref10clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081420160806
111935904refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
113095992refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
116048400refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016081420160806
123495208refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
150056880refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806

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