Implementation notes: amd64, morningstar, crypto_dh/surf2113

Computer: morningstar
Architecture: amd64
CPU ID: AuthenticAMD-00100f42-178bfbff
SUPERCOP version: 20170904
Operation: crypto_dh
Primitive: surf2113
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3157437? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
3162878? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
3164141? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
3164794? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
3175149? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2017090820170904
3177100? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017090820170904
3177643? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
3188152? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2017090820170904
3188231? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017090820170904
3194152? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090820170904
3200573? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017090820170904
3201302? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
3207879? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017090820170904
3208099? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017090820170904
3349795? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017090820170904
3352561? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017090820170904
3354439? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017090820170904
3354586? ? ?? ? ?mpfqgcc_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
3354994? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017090820170904
3355962? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
3355998? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
3356562? ? ?? ? ?mpfqgcc_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
3373037? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
3374351? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
3384797? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017090820170904
3385230? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017090820170904
3395955? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2017090820170904
3396710? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017090820170904
3401754? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017090820170904
3402015? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017090820170904
3402247? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017090820170904
3408088? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
3410825? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017090820170904
3411344? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2017090820170904
3412387? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
3414096? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017090820170904
3414592? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2017090820170904
3415093? ? ?? ? ?mpfqgcc_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
3415261? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2017090820170904
3415501? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2017090820170904
3416309? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
3416828? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017090820170904
3418125? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2017090820170904
3419909? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017090820170904
3420133? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2017090820170904
3420794? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2017090820170904
3420798? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017090820170904
3427805? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2017090820170904
3428120? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017090820170904
3429960? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2017090820170904
3431734? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090820170904
3450371? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2017090820170904
3453213? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017090820170904
3477151? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017090820170904
3527807? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
3532165? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
3551277? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
3552443? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
3554301? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017090820170904
3555126? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017090820170904
3572193? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017090820170904
3572452? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090820170904
3574350? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
3577174? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2017090820170904
3582622? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
3586662? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
3586982? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
3590319? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
3590747? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
3796660? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017090820170904
3853776? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017090820170904
3856640? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
3867029? ? ?? ? ?mpfqgcc_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
3885078? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2017090820170904
3886671? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2017090820170904
3888870? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017090820170904
3891554? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090820170904
3894504? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2017090820170904
3925408? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017090820170904
3929523? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
3944552? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
3992795? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
3999475? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
17118598? ? ?? ? ?mpfqgcc_-funroll-loops2017090820170904
17224032? ? ?? ? ?mpfqcc2017090820170904
17236503? ? ?? ? ?mpfqgcc2017090820170904

Test failure

Implementation: crypto_dh/surf2113/mpfq
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer mpfq
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer mpfq
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer mpfq
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer mpfq
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer mpfq
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=corei7 -O -fomit-frame-pointer mpfq
gcc -m64 -march=corei7 -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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=native -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