Implementation notes: amd64, manny613, crypto_dh/surf2113

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_dh
Primitive: surf2113
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2304940? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018082920180818
2306948? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018082920180818
2308200? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018082920180818
2313912? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018082920180818
2361064? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018082920180818
2365088? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2018082920180818
2367356? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2018082920180818
2370088? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018082920180818
2372156? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018082920180818
2375172? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018082920180818
2377944? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018082920180818
2380824? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018082920180818
2513900? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018082920180818
2517536? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082920180818
2518748? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018082920180818
2519164? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2018082920180818
2577388? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018082920180818
2578784? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082920180818
2579008? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2018082920180818
2579452? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2018082920180818
2585216? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2018082920180818
2587616? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018082920180818
2592960? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
2596804? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
2598388? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
2602112? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
2618280? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018082920180818
2622132? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018082920180818
2628356? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018082920180818
2629092? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018082920180818
2780904? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2018082920180818
2784280? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018082920180818
2857440? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018082920180818
2859932? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018082920180818
2867532? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
2869672? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
3029028? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
3035372? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
3112568? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018082920180818
3117880? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2018082920180818
3168060? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018082920180818
3168804? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018082920180818
3234112? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
3234780? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
3246500? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
3249672? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
3280420? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018082920180818
3351612? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018082920180818
3353256? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018082920180818
3356188? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018082920180818
3432788? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018082920180818
3438432? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018082920180818
3439484? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018082920180818
3507968? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018082920180818
3548532? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018082920180818
3581788? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018082920180818
3607196? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018082920180818
3659812? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018082920180818
4863388? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082920180818
4875176? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2018082920180818
4921072? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2018082920180818
4935776? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2018082920180818
4970428? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082920180818
4989356? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018082920180818
4994088? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018082920180818
5000976? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2018082920180818
5004468? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2018082920180818
5012600? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018082920180818
5021416? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2018082920180818
5028920? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018082920180818
5056632? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018082920180818
5085308? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018082920180818
5093036? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018082920180818
5104772? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018082920180818
5116932? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2018082920180818
5126408? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2018082920180818
5132528? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082920180818
5152716? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082920180818
5154808? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2018082920180818
5175732? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018082920180818
5192268? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018082920180818
5195332? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018082920180818
5198276? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018082920180818
5209440? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018082920180818
5212860? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018082920180818
5228760? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018082920180818
5335556? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018082920180818
5437032? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018082920180818
9024188? ? ?? ? ?mpfqgcc_-funroll-loops2018082920180818
9093408? ? ?? ? ?mpfqgcc2018082920180818
9158984? ? ?? ? ?mpfqcc2018082920180818

Test failure

Implementation: mpfq
Security model: unknown
Compiler: gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer mpfq
gcc -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -march=barcelona -O -fomit-frame-pointer mpfq
gcc -march=barcelona -Os -fomit-frame-pointer mpfq

Test failure

Implementation: mpfq
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_dh not associative
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -m64 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -m64 -march=barcelona -Os -fomit-frame-pointer mpfq

Test failure

Implementation: mpfq
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer mpfq
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer mpfq

Compiler output

Implementation: mpfq
Security model: unknown
Compiler: icc
try.c: crypto_dh_surf2113.a(keysharing.o): In function `mpfq_2_113_mul_ur':
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psrlqi128'
try.c: keysharing.c:(.text+0x...): undefined reference to `__builtin_ia32_psllqi128'
try.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
icc mpfq
icc -no-vec mpfq
icc -xAVX -O2 -fomit-frame-pointer mpfq
icc -xAVX -O3 -fomit-frame-pointer mpfq
icc -xCORE-AVX-I -O2 -fomit-frame-pointer mpfq
icc -xCORE-AVX-I -O3 -fomit-frame-pointer mpfq
icc -xSSE4.1 -O2 -fomit-frame-pointer mpfq
icc -xSSE4.1 -O3 -fomit-frame-pointer mpfq
icc -xSSE4.2 -O2 -fomit-frame-pointer mpfq
icc -xSSE4.2 -O3 -fomit-frame-pointer mpfq