Implementation notes: amd64, pluton1mn, crypto_dh/curve2251

Computer: pluton1mn
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_dh
Primitive: curve2251
TimeImplementationCompilerBenchmark dateSUPERCOP version
676970relic/amd64-avxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
677446relic/amd64-avxicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
677502relic/amd64-avxicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
693126relic/amd64-avxgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
695842relic/amd64-avxgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
722456relic/amd64-clmulicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
723058relic/amd64-clmulicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
727426relic/amd64-avxgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
758702relic/amd64-clmulgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
771988relic/amd64-clmulgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
778134relic/amd64-clmulgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
782096relic/amd64-clmulgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
1886724relic/amd64-ssse3icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
1887844relic/amd64-ssse3icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
1906534relic/amd64-ssse3gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
1929284relic/amd64-ssse3gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
1932140relic/amd64-ssse3gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
1996134relic/amd64-ssse3gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
5051662mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
5133268mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
5205830mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
5347216mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731

Compiler output

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
relic.c: In file included from relic.c:4:0:
relic.c: src/relic_rand.c: In function 'rand_init':
relic.c: src/relic_rand.c:117:8: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^~~~

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3

Compiler output

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
relic.c: In file included from relic.c(4):
relic.c: src/relic_rand.c(117): warning #266: function "time" declared implicitly
relic.c: srand(time(NULL));
relic.c: ^
relic.c:

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
icc -xMIC-AVX512 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3

Compiler output

Implementation: crypto_dh/curve2251/mpfq
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
try.c: crypto_dh_curve2251.a(curve2_251.o): In function `mpfq_2_251_addmul_basecase128x128s4X64x2':
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: curve2_251.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: ...

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