Implementation notes: amd64, oki, crypto_dh/surf2113

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_dh
Primitive: surf2113
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2015730? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
2029568? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
2034794? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
2038804? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
2046114? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
2046732? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
2070258? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
2070926? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
2119098? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
2119678? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
2130428? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
2132704? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
2149410? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
2150288? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
2150618? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
2171176? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
2172506? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
2172818? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
2174214? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
2175144? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
2175240? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
2175324? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
2175512? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
2178538? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
2178554? ? ?? ? ?mpfqgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
2179240? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2019011020181123
2182076? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
2182918? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
2185724? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
2186088? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
2186824? ? ?? ? ?mpfqgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
2188422? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
2192690? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
2192722? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
2194464? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
2194804? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
2197574? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
2197650? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
2198036? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2019011020181123
2198872? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
2201166? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2019011020181123
2212784? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
2215192? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
2215324? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
2216742? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
2218374? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
2220536? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
2220562? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
2227822? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
2230676? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
2270550? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
2270884? ? ?? ? ?mpfqgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
2271044? ? ?? ? ?mpfqgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2275560? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2278416? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
2278940? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2019011020181123
2280170? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2019011020181123
2281138? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
2282004? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
2282318? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
2285058? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2289072? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2290856? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
2291828? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
2291856? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
2292990? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
2293312? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
2293548? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
2293598? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
2293710? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
2295862? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
2296730? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
2297368? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
2301294? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
2302252? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
2303842? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
2306718? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
2309000? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
2310466? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2311422? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2312442? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2314980? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2314984? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2316126? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2316800? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2318362? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2320938? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
2321222? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
2322256? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
2324004? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
2326036? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
2327876? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
2327938? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
2408460? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
2416898? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
2419658? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
2430808? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
2434270? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
2443650? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
2475600? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
2477052? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
2478390? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
2500000? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
2553060? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
2553530? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
2970482? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
3017554? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
3075154? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
7873052? ? ?? ? ?mpfqgcc_-funroll-loops2019011020181123
7882268? ? ?? ? ?mpfqgcc2019011020181123
7917474? ? ?? ? ?mpfqcc2019011020181123

Compiler output

Implementation: mpfq
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
keysharing.c: In file included from keysharing.c:4:
keysharing.c: In file included from ./field.h:1:
keysharing.c: In file included from ./mpfq_2_113.h:5:
keysharing.c: ./x86_64/mpfq_2_113.h:714:14: error: use of unknown builtin '__builtin_ia32_pslldqi128' [-Wimplicit-function-declaration]
keysharing.c: r.s = t0 ^ SHLD(t1, 64);
keysharing.c: ^
keysharing.c: ./x86_64/mpfq_2_113.h:571:25: note: expanded from macro 'SHLD'
keysharing.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
keysharing.c: ^
keysharing.c: ./x86_64/mpfq_2_113.h:714:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
keysharing.c: r.s = t0 ^ SHLD(t1, 64);
keysharing.c: ^~~~~~~~~~~~
keysharing.c: ./x86_64/mpfq_2_113.h:571:19: note: expanded from macro 'SHLD'
keysharing.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
keysharing.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
keysharing.c: ./x86_64/mpfq_2_113.h:721:14: error: use of unknown builtin '__builtin_ia32_psrldqi128' [-Wimplicit-function-declaration]
keysharing.c: r.s = t2 ^ SHRD(t1, 64);
keysharing.c: ^
keysharing.c: ./x86_64/mpfq_2_113.h:572:25: note: expanded from macro 'SHRD'
keysharing.c: #define SHRD(x,r) (v2di)__builtin_ia32_psrldqi128 ((gcc43bugfix) (x),(r))
keysharing.c: ^
keysharing.c: ./x86_64/mpfq_2_113.h:721:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
keysharing.c: r.s = t2 ^ SHRD(t1, 64);
keysharing.c: ^~~~~~~~~~~~
keysharing.c: ./x86_64/mpfq_2_113.h:572:19: note: expanded from macro 'SHRD'
keysharing.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq