Implementation notes: amd64, mace, crypto_dh/curve2251

Computer: mace
Architecture: amd64
CPU ID: AuthenticAMD-00040fb2-178bfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: curve2251
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5574991? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016111720161009
5586036? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016111720161009
5608639? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016111720161009
5615213? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016111720161009
5643764? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016111720161009
5658863? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016111720161009
5659718? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2016111720161009
5665100? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2016111720161009
5665467? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016111720161009
5670991? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016111720161009
5696635? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016111720161009
5703372? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016111720161009
5707741? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2016111720161009
5709834? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016111720161009
5744410? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016111720161009
5744579? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2016111720161009
5746354? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2016111720161009
5771361? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016111720161009
5779000? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016111720161009
5780695? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2016111720161009
5782543? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016111720161009
5791726? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016111720161009
5791947? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016111720161009
5793319? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016111720161009
5793461? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016111720161009
5796769? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016111720161009
5796840? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2016111720161009
5805142? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2016111720161009
5805643? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2016111720161009
5867947? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016111720161009
5906333? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016111720161009
5908036? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016111720161009
5934649? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016111720161009
5937284? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016111720161009
5937859? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016111720161009
5938166? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2016111720161009
5943297? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016111720161009
5944509? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016111720161009
5947800? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2016111720161009
5948919? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016111720161009
5952637? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2016111720161009
5953681? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016111720161009
5955623? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016111720161009
6025309? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2016111720161009
6026068? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016111720161009
6072615? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016111720161009
6077126? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2016111720161009
6077678? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016111720161009
6080583? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2016111720161009
6080611? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016111720161009
7209335? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016111720161009
7219260? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016111720161009
7270403? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016111720161009
7270821? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2016111720161009
7275191? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016111720161009
7415612? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2016111720161009
7420317? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016111720161009
7431612? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016111720161009
7448323? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2016111720161009
7465068? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2016111720161009
7488973? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016111720161009
7509135? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016111720161009
7544267? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2016111720161009
7548549? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016111720161009
7588021? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016111720161009
7704343? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016111720161009
7718502? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016111720161009
24538990? ? ?? ? ?mpfqgcc_-funroll-loops2016111720161009
24539198? ? ?? ? ?mpfqgcc2016111720161009
24554183? ? ?? ? ?mpfqcc2016111720161009

Test failure

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

Number of similar (compiler,implementation) pairs: 304, namely:
CompilerImplementations
cc relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -O3 -fomit-frame-pointer -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments 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 mpfq 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 -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 -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=corei7 -O2 -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=corei7 -O -fomit-frame-pointer mpfq relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=corei7 -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/mpfq
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: crypto_dh/curve2251/mpfq
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: 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

Compiler output

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: cc
relic.c: In file included from relic.c:4:0:
relic.c: src/relic_rand.c: In function 'rand_init':
relic.c: src/relic_rand.c:117:8: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^

Number of similar (compiler,implementation) pairs: 276, 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 relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=corei7 -O -fomit-frame-pointer relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
gcc -m64 -march=corei7 -Os -fomit-frame-pointer 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

Compiler output

Implementation: crypto_dh/curve2251/mpfq
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
curve2_251.c: In file included from curve2_251.c:8:
curve2_251.c: In file included from ./field.h:1:
curve2_251.c: In file included from ./mpfq_2_251.h:5:
curve2_251.c: ./x86_64/mpfq_2_251.h:900:14: error: use of unknown builtin '__builtin_ia32_pslldqi128' [-Wimplicit-function-declaration]
curve2_251.c: r.s = t0 ^ SHLD(t1, 64);
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:748:25: note: expanded from macro 'SHLD'
curve2_251.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:900:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
curve2_251.c: r.s = t0 ^ SHLD(t1, 64);
curve2_251.c: ^~~~~~~~~~~~
curve2_251.c: ./x86_64/mpfq_2_251.h:748:19: note: expanded from macro 'SHLD'
curve2_251.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
curve2_251.c: ./x86_64/mpfq_2_251.h:907:14: error: use of unknown builtin '__builtin_ia32_psrldqi128' [-Wimplicit-function-declaration]
curve2_251.c: r.s = t2 ^ SHRD(t1, 64);
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:749:25: note: expanded from macro 'SHRD'
curve2_251.c: #define SHRD(x,r) (v2di)__builtin_ia32_psrldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:907:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
curve2_251.c: r.s = t2 ^ SHRD(t1, 64);
curve2_251.c: ^~~~~~~~~~~~
curve2_251.c: ./x86_64/mpfq_2_251.h:749:19: note: expanded from macro 'SHRD'
curve2_251.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

Compiler output

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments relic/amd64-avx relic/amd64-clmul relic/amd64-ssse3

Compiler output

Implementation: crypto_dh/curve2251/relic/amd64-avx
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
relic.c: In file included from relic.c:4:0:
relic.c: src/relic_rand.c: In function 'rand_init':
relic.c: src/relic_rand.c:117:8: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: In file included from relic.c:4:0:
relic.c: src/relic_rand.c: In function 'rand_init':
relic.c: src/relic_rand.c:117:8: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^

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