Implementation notes: amd64, hydra6, crypto_dh/surf2113

Computer: hydra6
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20171218
Operation: crypto_dh
Primitive: surf2113
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3652446? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017111320171020
3654139? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017111320171020
3667162? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111320171020
3696833? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111320171020
3711435? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111320171020
3757445? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111320171020
3758552? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017111320171020
3765756? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017111320171020
3780940? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2017111320171020
3786838? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111320171020
3794070? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111320171020
3800803? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111320171020
3802993? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2017111320171020
3809607? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111320171020
3815570? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017111320171020
3819016? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017111320171020
3836280? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2017111320171020
3848358? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2017111320171020
3858180? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017111320171020
3858621? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111320171020
3888877? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2017111320171020
4030357? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
4036647? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
4170927? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017111320171020
4171553? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017111320171020
4202622? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111320171020
4205659? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111320171020
4206073? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017111320171020
4208407? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017111320171020
4218721? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2017111320171020
4222708? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017111320171020
4244017? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2017111320171020
4245757? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2017111320171020
4246074? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111320171020
4287806? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111320171020
4297203? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2017111320171020
4297531? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2017111320171020
4351494? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017111320171020
4365433? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017111320171020
4382880? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017111320171020
4383061? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2017111320171020
4388339? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017111320171020
4390215? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2017111320171020
4391708? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017111320171020
4393694? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2017111320171020
4413696? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
4421202? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2017111320171020
4422324? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017111320171020
4423568? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
4425888? ? ?? ? ?mpfqgcc_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
4427061? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
4427590? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
4428149? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
4430482? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017111320171020
4448757? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017111320171020
4449422? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2017111320171020
4463886? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017111320171020
4478864? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
4480863? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
4487509? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
4490871? ? ?? ? ?mpfqgcc_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
4491946? ? ?? ? ?mpfqgcc_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
4494459? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
4504705? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
4504730? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
4592426? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017111320171020
4595346? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2017111320171020
4610096? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
4613214? ? ?? ? ?mpfqgcc_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
4665543? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017111320171020
4710939? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
4734480? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
4756555? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
4758819? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017111320171020
4762656? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017111320171020
4763854? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
4785445? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
4791039? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
4824801? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
4826450? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
4827274? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017111320171020
4830204? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017111320171020
4833572? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017111320171020
4836020? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017111320171020
4843156? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017111320171020
4848817? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017111320171020
4859741? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017111320171020
4865802? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017111320171020
5218538? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017111320171020
5223341? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017111320171020
5258011? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017111320171020
5286422? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017111320171020
5308398? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017111320171020
5366240? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2017111320171020
5377524? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017111320171020
5382672? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111320171020
5393031? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017111320171020
5393827? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017111320171020
5420449? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017111320171020
5437841? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
5443238? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017111320171020
5464693? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
5487423? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017111320171020
6221355? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017111320171020
16958721? ? ?? ? ?mpfqgcc2017111320171020
16976923? ? ?? ? ?mpfqcc2017111320171020
17035758? ? ?? ? ?mpfqgcc_-funroll-loops2017111320171020

Test failure

Implementation: crypto_dh/surf2113/mpfq
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: crypto_dh/surf2113/mpfq
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
Surf2_113.c: In file included from Surf2_113.c:11:
Surf2_113.c: In file included from ./field.h:1:
Surf2_113.c: In file included from ./mpfq_2_113.h:5:
Surf2_113.c: ./x86_64/mpfq_2_113.h:714:14: error: use of unknown builtin '__builtin_ia32_pslldqi128' [-Wimplicit-function-declaration]
Surf2_113.c: r.s = t0 ^ SHLD(t1, 64);
Surf2_113.c: ^
Surf2_113.c: ./x86_64/mpfq_2_113.h:571:25: note: expanded from macro 'SHLD'
Surf2_113.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
Surf2_113.c: ^
Surf2_113.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
Surf2_113.c: r.s = t0 ^ SHLD(t1, 64);
Surf2_113.c: ^~~~~~~~~~~~
Surf2_113.c: ./x86_64/mpfq_2_113.h:571:19: note: expanded from macro 'SHLD'
Surf2_113.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
Surf2_113.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Surf2_113.c: ./x86_64/mpfq_2_113.h:721:14: error: use of unknown builtin '__builtin_ia32_psrldqi128' [-Wimplicit-function-declaration]
Surf2_113.c: r.s = t2 ^ SHRD(t1, 64);
Surf2_113.c: ^
Surf2_113.c: ./x86_64/mpfq_2_113.h:572:25: note: expanded from macro 'SHRD'
Surf2_113.c: #define SHRD(x,r) (v2di)__builtin_ia32_psrldqi128 ((gcc43bugfix) (x),(r))
Surf2_113.c: ^
Surf2_113.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
Surf2_113.c: r.s = t2 ^ SHRD(t1, 64);
Surf2_113.c: ^~~~~~~~~~~~
Surf2_113.c: ./x86_64/mpfq_2_113.h:572:19: note: expanded from macro 'SHRD'
Surf2_113.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=native -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