Implementation notes: amd64, bigmem, crypto_dh/ed448goldilocks

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_dh
Primitive: ed448goldilocks
TimeImplementationCompilerBenchmark dateSUPERCOP version
2086878amd64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
2087113amd64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021620141124
2088697amd64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021620141124
2089954amd64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
2116389amd64gcc -march=nocona -O3 -fomit-frame-pointer2015021620141124
2118061amd64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
2175810amd64gcc -m64 -O2 -fomit-frame-pointer2015021620141124
2176037amd64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
2176062amd64gcc -O2 -fomit-frame-pointer2015021620141124
2176663amd64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
2177054amd64gcc -march=barcelona -O2 -fomit-frame-pointer2015021620141124
2178253amd64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
2178363amd64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
2178708amd64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
2179020amd64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
2194261amd64gcc -march=k8 -O2 -fomit-frame-pointer2015021620141124
2195062amd64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
2206554amd64gcc -march=nocona -O2 -fomit-frame-pointer2015021620141124
2206679amd64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
248774064gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
248822564gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2015021620141124
249007264gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
249072964gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2015021620141124
249113564gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
249231964gcc -funroll-loops -O3 -fomit-frame-pointer2015021620141124
249273364gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2015021620141124
249757564gcc -O3 -fomit-frame-pointer2015021620141124
249769164gcc -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
249966964gcc -m64 -O3 -fomit-frame-pointer2015021620141124
250136864gcc -march=barcelona -O3 -fomit-frame-pointer2015021620141124
250258164gcc -march=k8 -O3 -fomit-frame-pointer2015021620141124
250325564gcc -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
250353664gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
254489264gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021620141124
254609064gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
256857864gcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
256862064gcc -march=nocona -O3 -fomit-frame-pointer2015021620141124
260224464gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
260318264gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2015021620141124
260572964gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2015021620141124
260634464gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2015021620141124
260646664gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
260653164gcc -funroll-loops -O2 -fomit-frame-pointer2015021620141124
260658464gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
269208664gcc -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
269210964gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
269262764gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
269286864gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
271072464gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
271082064gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021620141124
274757464gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
274769664gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
274772164gcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
274809564gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
276124264gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
276246664gcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
276277564gcc -march=barcelona -O2 -fomit-frame-pointer2015021620141124
277122164gcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
277129264gcc -O2 -fomit-frame-pointer2015021620141124
277139464gcc -m64 -O2 -fomit-frame-pointer2015021620141124
277365864gcc -march=k8 -O2 -fomit-frame-pointer2015021620141124
279702464gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
279725164gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
279737064gcc -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
279810964gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
280061164gcc -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
280153264gcc -march=barcelona -Os -fomit-frame-pointer2015021620141124
280257564gcc -m64 -Os -fomit-frame-pointer2015021620141124
280271764gcc -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
280326064gcc -march=k8 -Os -fomit-frame-pointer2015021620141124
280338264gcc -Os -fomit-frame-pointer2015021620141124
280338864gcc -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
280942964gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
280961564gcc -funroll-loops -m64 -Os -fomit-frame-pointer2015021620141124
281035564gcc -funroll-loops -Os -fomit-frame-pointer2015021620141124
281036964gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
281064164gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2015021620141124
282057264gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
282117564gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2015021620141124
284212564gcc -march=nocona -O2 -fomit-frame-pointer2015021620141124
284294464gcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
289001764gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
289041964gcc -funroll-loops -O -fomit-frame-pointer2015021620141124
289042564gcc -funroll-loops -m64 -O -fomit-frame-pointer2015021620141124
289625664gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
289649464gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021620141124
290074464gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021620141124
290103964gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
290107664gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
290149764gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021620141124
292719364gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
292801264gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2015021620141124
294812364gcc -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
294895064gcc -march=nocona -Os -fomit-frame-pointer2015021620141124
317652464gcc -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
318162964gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
318182264gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
318197264gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
327484964gcc -march=nocona -O -fomit-frame-pointer2015021620141124
327576164gcc -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
328882664gcc -march=k8 -O -fomit-frame-pointer2015021620141124
328903864gcc -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
329355264gcc -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
329390964gcc -m64 -O -fomit-frame-pointer2015021620141124
329614464gcc -O -fomit-frame-pointer2015021620141124
329644764gcc -march=barcelona -O -fomit-frame-pointer2015021620141124
329898964gcc -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
566528432gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2015021620141124
566963632gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
567665732gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2015021620141124
568680932gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
572215832gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
572486332gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
573038332gcc -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
573438632gcc -m64 -O3 -fomit-frame-pointer2015021620141124
573705832gcc -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
573740132gcc -march=k8 -O3 -fomit-frame-pointer2015021620141124
573770432gcc -O3 -fomit-frame-pointer2015021620141124
575474632gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
576495532gcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
576813432gcc -march=nocona -O3 -fomit-frame-pointer2015021620141124
577371032gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
577894332gcc -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
580013632gcc -march=barcelona -O3 -fomit-frame-pointer2015021620141124
581461232gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
581479332gcc -funroll-loops -O3 -fomit-frame-pointer2015021620141124
581754832gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2015021620141124
585146532gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021620141124
585206632gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
590125032gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
590225332gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2015021620141124
591104232gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
591227132gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2015021620141124
593887632gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
593971232gcc -funroll-loops -O2 -fomit-frame-pointer2015021620141124
594060732gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2015021620141124
602971332gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
602972532gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
603463432gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
604595932gcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
612853132gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021620141124
613755832gcc -march=k8 -O2 -fomit-frame-pointer2015021620141124
614059032gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
614272332gcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
620763532gcc -O2 -fomit-frame-pointer2015021620141124
620999532gcc -m64 -O2 -fomit-frame-pointer2015021620141124
621193032gcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
622873532gcc -march=nocona -O2 -fomit-frame-pointer2015021620141124
624398132gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
625103932gcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
647144132gcc -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
647219532gcc -march=barcelona -Os -fomit-frame-pointer2015021620141124
649577932gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
649990432gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
650117432gcc -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
650615832gcc -m64 -Os -fomit-frame-pointer2015021620141124
650709032gcc -Os -fomit-frame-pointer2015021620141124
650710732gcc -march=k8 -Os -fomit-frame-pointer2015021620141124
650748132gcc -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
650792932gcc -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
650947032gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
653884332gcc -funroll-loops -m64 -Os -fomit-frame-pointer2015021620141124
653884632gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2015021620141124
653886032gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
654235632gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
654737732gcc -funroll-loops -Os -fomit-frame-pointer2015021620141124
655085932gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
655168732gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2015021620141124
688280732gcc -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
688405132gcc -march=nocona -Os -fomit-frame-pointer2015021620141124
690784532gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
691118832gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2015021620141124
747307832gcc -march=barcelona -O2 -fomit-frame-pointer2015021620141124
1532152232gcc -funroll-loops -m64 -O -fomit-frame-pointer2015021620141124
1536226332gcc -funroll-loops -O -fomit-frame-pointer2015021620141124
1539990332gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
1543344432gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021620141124
1558883032gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
1560702832gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
1571967032gcc -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
1573898832gcc -march=barcelona -O -fomit-frame-pointer2015021620141124
1579018132gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021620141124
1588346032gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
1588369532gcc -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
1594209332gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021620141124
1598611432gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
1602997732gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
1606423032gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
1610310632gcc -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
1612829132gcc -march=nocona -O -fomit-frame-pointer2015021620141124
1652207132gcc -O -fomit-frame-pointer2015021620141124
1652676232gcc -m64 -O -fomit-frame-pointer2015021620141124
1666917132gcc -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
1667041832gcc -march=k8 -O -fomit-frame-pointer2015021620141124
1667912232gcc -m64 -march=k8 -O -fomit-frame-pointer2015021620141124

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -O3 -fomit-frame-pointer
error 111
try: p448.c:336: p448_strong_reduce: Assertion `is_zero(scarry) | is_zero(scarry+1)' failed.

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer amd64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer amd64
gcc -m64 -O3 -fomit-frame-pointer amd64
gcc -m64 -march=core2 -O3 -fomit-frame-pointer amd64
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer amd64
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer amd64
gcc -m64 -march=k8 -O3 -fomit-frame-pointer amd64
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer amd64
gcc -march=barcelona -O3 -fomit-frame-pointer amd64
gcc -march=k8 -O3 -fomit-frame-pointer amd64

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -O -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 21, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer amd64
gcc -fno-schedule-insns -O -fomit-frame-pointer amd64
gcc -funroll-loops -O -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -O -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer amd64
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer amd64
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer amd64
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer amd64
gcc -m64 -O -fomit-frame-pointer amd64
gcc -m64 -march=core2 -O -fomit-frame-pointer amd64
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer amd64
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer amd64
gcc -m64 -march=k8 -O -fomit-frame-pointer amd64
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer amd64
gcc -m64 -march=nocona -O -fomit-frame-pointer amd64
gcc -march=barcelona -O -fomit-frame-pointer amd64
gcc -march=k8 -O -fomit-frame-pointer amd64
gcc -march=nocona -O -fomit-frame-pointer amd64

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -Os -fomit-frame-pointer
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 21, namely:
CompilerImplementations
gcc -Os -fomit-frame-pointer amd64
gcc -fno-schedule-insns -Os -fomit-frame-pointer amd64
gcc -funroll-loops -Os -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer amd64
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer amd64
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer amd64
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer amd64
gcc -m64 -Os -fomit-frame-pointer amd64
gcc -m64 -march=core2 -Os -fomit-frame-pointer amd64
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer amd64
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer amd64
gcc -m64 -march=k8 -Os -fomit-frame-pointer amd64
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer amd64
gcc -m64 -march=nocona -Os -fomit-frame-pointer amd64
gcc -march=barcelona -Os -fomit-frame-pointer amd64
gcc -march=k8 -Os -fomit-frame-pointer amd64
gcc -march=nocona -Os -fomit-frame-pointer amd64

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -funroll-loops -O2 -fomit-frame-pointer
error 111
crypto_dh returns nonzero

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
gcc -funroll-loops -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer amd64

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
error 111
try: p448.c:336: p448_strong_reduce: Assertion `is_zero(scarry) | is_zero(scarry+1)' failed.
error 111
try: p448.c:336: p448_strong_reduce: Assertion `is_zero(scarry) | is_zero(scarry+1)' failed.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer amd64

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -m64 -march=barcelona -O -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O -fomit-frame-pointer amd64

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
error 111
crypto_dh not associative
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -fomit-frame-pointer amd64

Compiler output

Implementation: crypto_dh/ed448goldilocks/arm32
Compiler: cc
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'
crandom.c: p448.h: In function 'p448_cond_neg':
crandom.c: p448.h:270: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc arm32
gcc arm32
gcc -O2 -fomit-frame-pointer arm32
gcc -O3 -fomit-frame-pointer arm32
gcc -O -fomit-frame-pointer arm32
gcc -Os -fomit-frame-pointer arm32
gcc -fno-schedule-insns -O2 -fomit-frame-pointer arm32
gcc -fno-schedule-insns -O3 -fomit-frame-pointer arm32
gcc -fno-schedule-insns -O -fomit-frame-pointer arm32
gcc -fno-schedule-insns -Os -fomit-frame-pointer arm32
gcc -funroll-loops arm32
gcc -funroll-loops -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -O -fomit-frame-pointer arm32
gcc -funroll-loops -Os -fomit-frame-pointer arm32
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer arm32
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -O -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -Os -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer arm32
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer arm32
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer arm32
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer arm32
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer arm32
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer arm32
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer arm32
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer arm32
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer arm32
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer arm32
gcc -m64 -O2 -fomit-frame-pointer arm32
gcc -m64 -O3 -fomit-frame-pointer arm32
gcc -m64 -O -fomit-frame-pointer arm32
gcc -m64 -Os -fomit-frame-pointer arm32
gcc -m64 -march=core2 -O2 -fomit-frame-pointer arm32
gcc -m64 -march=core2 -O3 -fomit-frame-pointer arm32
gcc -m64 -march=core2 -O -fomit-frame-pointer arm32
gcc -m64 -march=core2 -Os -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer arm32
gcc -m64 -march=k8 -O2 -fomit-frame-pointer arm32
gcc -m64 -march=k8 -O3 -fomit-frame-pointer arm32
gcc -m64 -march=k8 -O -fomit-frame-pointer arm32
gcc -m64 -march=k8 -Os -fomit-frame-pointer arm32
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer arm32
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer arm32
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer arm32
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer arm32
gcc -m64 -march=nocona -O2 -fomit-frame-pointer arm32
gcc -m64 -march=nocona -O3 -fomit-frame-pointer arm32
gcc -m64 -march=nocona -O -fomit-frame-pointer arm32
gcc -m64 -march=nocona -Os -fomit-frame-pointer arm32
gcc -march=barcelona -O2 -fomit-frame-pointer arm32
gcc -march=barcelona -O3 -fomit-frame-pointer arm32
gcc -march=barcelona -O -fomit-frame-pointer arm32
gcc -march=barcelona -Os -fomit-frame-pointer arm32
gcc -march=k8 -O2 -fomit-frame-pointer arm32
gcc -march=k8 -O3 -fomit-frame-pointer arm32
gcc -march=k8 -O -fomit-frame-pointer arm32
gcc -march=k8 -Os -fomit-frame-pointer arm32
gcc -march=nocona -O2 -fomit-frame-pointer arm32
gcc -march=nocona -O3 -fomit-frame-pointer arm32
gcc -march=nocona -O -fomit-frame-pointer arm32
gcc -march=nocona -Os -fomit-frame-pointer arm32

Compiler output

Implementation: crypto_dh/ed448goldilocks/neon
Compiler: cc
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: p448.h:318: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: p448.h:320: error: can't convert between vector values of different size

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc neon
gcc neon
gcc -O2 -fomit-frame-pointer neon
gcc -O3 -fomit-frame-pointer neon
gcc -O -fomit-frame-pointer neon
gcc -Os -fomit-frame-pointer neon
gcc -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops neon
gcc -funroll-loops -O2 -fomit-frame-pointer neon
gcc -funroll-loops -O3 -fomit-frame-pointer neon
gcc -funroll-loops -O -fomit-frame-pointer neon
gcc -funroll-loops -Os -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer neon
gcc -m64 -O2 -fomit-frame-pointer neon
gcc -m64 -O3 -fomit-frame-pointer neon
gcc -m64 -O -fomit-frame-pointer neon
gcc -m64 -Os -fomit-frame-pointer neon
gcc -m64 -march=core2 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core2 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core2 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -Os -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer neon
gcc -m64 -march=k8 -O2 -fomit-frame-pointer neon
gcc -m64 -march=k8 -O3 -fomit-frame-pointer neon
gcc -m64 -march=k8 -O -fomit-frame-pointer neon
gcc -m64 -march=k8 -Os -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer neon
gcc -m64 -march=nocona -O2 -fomit-frame-pointer neon
gcc -m64 -march=nocona -O3 -fomit-frame-pointer neon
gcc -m64 -march=nocona -O -fomit-frame-pointer neon
gcc -m64 -march=nocona -Os -fomit-frame-pointer neon
gcc -march=barcelona -O2 -fomit-frame-pointer neon
gcc -march=barcelona -O3 -fomit-frame-pointer neon
gcc -march=barcelona -O -fomit-frame-pointer neon
gcc -march=barcelona -Os -fomit-frame-pointer neon
gcc -march=k8 -O2 -fomit-frame-pointer neon
gcc -march=k8 -O3 -fomit-frame-pointer neon
gcc -march=k8 -O -fomit-frame-pointer neon
gcc -march=k8 -Os -fomit-frame-pointer neon
gcc -march=nocona -O2 -fomit-frame-pointer neon
gcc -march=nocona -O3 -fomit-frame-pointer neon
gcc -march=nocona -O -fomit-frame-pointer neon
gcc -march=nocona -Os -fomit-frame-pointer neon

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: cc
crandom.c: crandom.c: Assembler messages:
crandom.c: crandom.c:49: Error: no such instruction: `rdrand %rdx'

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
cc 32 64 amd64
gcc 32 64 amd64
gcc -funroll-loops 32 64 amd64

Compiler output

Implementation: crypto_dh/ed448goldilocks/arm32
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'
crandom.c: p448.h: In function 'p448_cond_neg':
crandom.c: p448.h:270: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'
crandom.c: p448.h: In function 'p448_cond_neg':
crandom.c: p448.h:270: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer arm32
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer arm32
gcc -m64 -march=barcelona -O -fomit-frame-pointer arm32
gcc -m64 -march=barcelona -Os -fomit-frame-pointer arm32

Compiler output

Implementation: crypto_dh/ed448goldilocks/neon
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: p448.h:318: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: p448.h:320: error: can't convert between vector values of different size
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: p448.h:318: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: p448.h:320: error: can't convert between vector values of different size

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer neon
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer neon
gcc -m64 -march=barcelona -O -fomit-frame-pointer neon
gcc -m64 -march=barcelona -Os -fomit-frame-pointer neon