Implementation notes: amd64, gcc16, crypto_dh/curve2251

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20170904
Operation: crypto_dh
Primitive: curve2251
TimeImplementationCompilerBenchmark dateSUPERCOP version
3803280mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017090720170904
3803810mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017090720170904
3810623mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017090720170904
3811587mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017090720170904
3811621mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2017090720170904
3821543mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017090720170904
3827868mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2017090720170904
3829842mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017090720170904
3829948mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017090720170904
3830608mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017090720170904
3906411mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017090720170904
3909381mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017090720170904
3935181mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017090720170904
3935841mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017090720170904
4005133mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017090720170904
4005794mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017090720170904
4006532mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2017090720170904
4009807mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017090720170904
4013209mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017090720170904
4020359mpfqgcc -march=k8 -O3 -fomit-frame-pointer2017090720170904
4020554mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017090720170904
4023406mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017090720170904
4023941mpfqgcc -m64 -O3 -fomit-frame-pointer2017090720170904
4024053mpfqgcc -O3 -fomit-frame-pointer2017090720170904
4040157mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017090720170904
4040411mpfqgcc -m64 -O2 -fomit-frame-pointer2017090720170904
4042730mpfqgcc -O2 -fomit-frame-pointer2017090720170904
4049095mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017090720170904
4049145mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017090720170904
4053342mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2017090720170904
4054099mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017090720170904
4054459mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017090720170904
4055517mpfqgcc -march=k8 -O2 -fomit-frame-pointer2017090720170904
4057195mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017090720170904
4065216mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017090720170904
4065920mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017090720170904
4066408mpfqgcc -march=nocona -O3 -fomit-frame-pointer2017090720170904
4066900mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017090720170904
4072673mpfqgcc -funroll-loops -O -fomit-frame-pointer2017090720170904
4073789mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017090720170904
4079609mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017090720170904
4081451mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017090720170904
4083621mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017090720170904
4084094mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017090720170904
4091251mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017090720170904
4091426mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017090720170904
4091671mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017090720170904
4092121mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017090720170904
4127458mpfqgcc -march=nocona -O -fomit-frame-pointer2017090720170904
4128856mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2017090720170904
4130693mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2017090720170904
4132284mpfqgcc -march=k8 -O -fomit-frame-pointer2017090720170904
4135405mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2017090720170904
4136039mpfqgcc -m64 -O -fomit-frame-pointer2017090720170904
4137348mpfqgcc -O -fomit-frame-pointer2017090720170904
4139453mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2017090720170904
4147995mpfqgcc -march=barcelona -O -fomit-frame-pointer2017090720170904
4149293mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2017090720170904
4150271mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017090720170904
4150290mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017090720170904
4150414mpfqgcc -march=nocona -O2 -fomit-frame-pointer2017090720170904
4151377mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017090720170904
4151524mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2017090720170904
10801730mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017090720170904
10804485mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017090720170904
10811267mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2017090720170904
10813930mpfqgcc -march=barcelona -Os -fomit-frame-pointer2017090720170904
10891545mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017090720170904
10912353mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2017090720170904
10919005mpfqgcc -march=k8 -Os -fomit-frame-pointer2017090720170904
10924045mpfqgcc -m64 -Os -fomit-frame-pointer2017090720170904
10924631mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2017090720170904
10927518mpfqgcc -Os -fomit-frame-pointer2017090720170904
11379300mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017090720170904
11381720mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017090720170904
11700934mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2017090720170904
11708879mpfqgcc -march=nocona -Os -fomit-frame-pointer2017090720170904
12095270mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017090720170904
12111548mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017090720170904
12198492mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017090720170904
12199546mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017090720170904
12201328mpfqgcc -funroll-loops -Os -fomit-frame-pointer2017090720170904
12203672mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017090720170904
12204221mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017090720170904
24356003mpfqgcc2017090720170904
24367558mpfqgcc -funroll-loops2017090720170904
24368567mpfqcc2017090720170904

Test failure

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: cc
error 111

Number of similar (compiler,implementation) pairs: 281, namely:
CompilerImplementations
cc relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -fno-schedule-insns -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -fno-schedule-insns -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -fno-schedule-insns -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -fno-schedule-insns -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=k8 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=k8 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=k8 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=k8 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=nocona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=nocona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=nocona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=nocona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=barcelona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=barcelona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=barcelona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=barcelona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=k8 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=k8 -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=k8 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=k8 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
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
gcc -march=nocona -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=nocona -O3 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=nocona -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -march=nocona -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3

Test failure

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
error 111

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