Implementation notes: amd64, gcc16, crypto_sign/ed448goldilocks

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20171020
Operation: crypto_sign
Primitive: ed448goldilocks
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1627922? ? ?? ? ?amd64gcc_-m64_-O2_-fomit-frame-pointer2017090820170904
1628087? ? ?? ? ?amd64gcc_-O2_-fomit-frame-pointer2017090820170904
1628535? ? ?? ? ?amd64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
1635314? ? ?? ? ?amd64gcc_-march=k8_-O2_-fomit-frame-pointer2017090820170904
1635839? ? ?? ? ?amd64gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
1643156? ? ?? ? ?amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017090820170904
1646453? ? ?? ? ?amd64gcc_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
1646457? ? ?? ? ?amd64gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017090820170904
1646469? ? ?? ? ?amd64gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
1647781? ? ?? ? ?amd64gcc_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
1649229? ? ?? ? ?amd64gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
1699200? ? ?? ? ?64gcc_-m64_-O3_-fomit-frame-pointer2017090820170904
1699247? ? ?? ? ?64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090820170904
1700211? ? ?? ? ?64gcc_-O3_-fomit-frame-pointer2017090820170904
1705719? ? ?? ? ?64gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
1705741? ? ?? ? ?64gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017090820170904
1706017? ? ?? ? ?64gcc_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
1707640? ? ?? ? ?64gcc_-march=k8_-O3_-fomit-frame-pointer2017090820170904
1707791? ? ?? ? ?64gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017090820170904
1709021? ? ?? ? ?64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017090820170904
1782087? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
1782725? ? ?? ? ?64gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
1794942? ? ?? ? ?64gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017090820170904
1796608? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017090820170904
1799385? ? ?? ? ?64gcc_-funroll-loops_-O3_-fomit-frame-pointer2017090820170904
1800134? ? ?? ? ?64gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017090820170904
1800216? ? ?? ? ?64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090820170904
1839882? ? ?? ? ?64gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
1840209? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
1842200? ? ?? ? ?64gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017090820170904
1845841? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
1848352? ? ?? ? ?64gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
1851281? ? ?? ? ?64gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017090820170904
1851591? ? ?? ? ?64gcc_-funroll-loops_-O2_-fomit-frame-pointer2017090820170904
1852862? ? ?? ? ?64gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
1853021? ? ?? ? ?64gcc_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
1853723? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
1855925? ? ?? ? ?64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
1914411? ? ?? ? ?64gcc_-O2_-fomit-frame-pointer2017090820170904
1914462? ? ?? ? ?64gcc_-m64_-O2_-fomit-frame-pointer2017090820170904
1917527? ? ?? ? ?64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
1917834? ? ?? ? ?64gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
1918839? ? ?? ? ?64gcc_-march=k8_-O2_-fomit-frame-pointer2017090820170904
1928557? ? ?? ? ?64gcc_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
1931806? ? ?? ? ?64gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
1934365? ? ?? ? ?64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017090820170904
1936346? ? ?? ? ?64gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017090820170904
1947741? ? ?? ? ?64gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
1951511? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
2002619? ? ?? ? ?64gcc_-Os_-fomit-frame-pointer2017090820170904
2004186? ? ?? ? ?64gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017090820170904
2005833? ? ?? ? ?64gcc_-march=k8_-Os_-fomit-frame-pointer2017090820170904
2005916? ? ?? ? ?64gcc_-m64_-Os_-fomit-frame-pointer2017090820170904
2006003? ? ?? ? ?64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090820170904
2016844? ? ?? ? ?64gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017090820170904
2018868? ? ?? ? ?64gcc_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
2020563? ? ?? ? ?64gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
2023973? ? ?? ? ?64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017090820170904
2061748? ? ?? ? ?64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090820170904
2061796? ? ?? ? ?64gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017090820170904
2062879? ? ?? ? ?64gcc_-funroll-loops_-Os_-fomit-frame-pointer2017090820170904
2063134? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017090820170904
2064298? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017090820170904
2065143? ? ?? ? ?64gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017090820170904
2067563? ? ?? ? ?64gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017090820170904
2069408? ? ?? ? ?64gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
2080664? ? ?? ? ?64gcc_-funroll-loops_-O_-fomit-frame-pointer2017090820170904
2081634? ? ?? ? ?64gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
2083138? ? ?? ? ?64gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017090820170904
2084458? ? ?? ? ?64gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017090820170904
2085297? ? ?? ? ?64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017090820170904
2086289? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017090820170904
2086364? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
2091889? ? ?? ? ?64gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
2094532? ? ?? ? ?64gcc_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
2105208? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
2107408? ? ?? ? ?64gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
2115703? ? ?? ? ?64gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
2115943? ? ?? ? ?64gcc_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
2179273? ? ?? ? ?64gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
2295191? ? ?? ? ?64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017090820170904
2295599? ? ?? ? ?64gcc_-O_-fomit-frame-pointer2017090820170904
2297433? ? ?? ? ?64gcc_-m64_-O_-fomit-frame-pointer2017090820170904
2320854? ? ?? ? ?64gcc_-march=nocona_-O_-fomit-frame-pointer2017090820170904
2327179? ? ?? ? ?64gcc_-m64_-march=k8_-O_-fomit-frame-pointer2017090820170904
2327226? ? ?? ? ?64gcc_-march=k8_-O_-fomit-frame-pointer2017090820170904
2328260? ? ?? ? ?64gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017090820170904
2332005? ? ?? ? ?64gcc_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
2332062? ? ?? ? ?64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017090820170904
2333208? ? ?? ? ?64gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017090820170904
2334768? ? ?? ? ?64gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
4800281? ? ?? ? ?32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017090820170904
4962046? ? ?? ? ?32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017090820170904
5042568? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
5044151? ? ?? ? ?32gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017090820170904
5048930? ? ?? ? ?32gcc_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
5054119? ? ?? ? ?32gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
5085289? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017090820170904
5085322? ? ?? ? ?32gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017090820170904
5103285? ? ?? ? ?32gcc_-funroll-loops_-O2_-fomit-frame-pointer2017090820170904
5104162? ? ?? ? ?32gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017090820170904
5115833? ? ?? ? ?32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
5188234? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
5188410? ? ?? ? ?32gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017090820170904
5192274? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
5202995? ? ?? ? ?32gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
5218552? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
5218559? ? ?? ? ?32gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
5241165? ? ?? ? ?32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090820170904
5245011? ? ?? ? ?32gcc_-funroll-loops_-O3_-fomit-frame-pointer2017090820170904
5261342? ? ?? ? ?32gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017090820170904
5310076? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
5310402? ? ?? ? ?32gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
5322898? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
5326612? ? ?? ? ?32gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
5359139? ? ?? ? ?32gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017090820170904
5359409? ? ?? ? ?32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090820170904
5359872? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017090820170904
5359969? ? ?? ? ?32gcc_-funroll-loops_-Os_-fomit-frame-pointer2017090820170904
5360419? ? ?? ? ?32gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017090820170904
5559205? ? ?? ? ?32gcc_-march=k8_-O3_-fomit-frame-pointer2017090820170904
5559432? ? ?? ? ?32gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017090820170904
5559934? ? ?? ? ?32gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017090820170904
5560823? ? ?? ? ?32gcc_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
5560978? ? ?? ? ?32gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090820170904
5604170? ? ?? ? ?32gcc_-O3_-fomit-frame-pointer2017090820170904
5611782? ? ?? ? ?32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090820170904
5612388? ? ?? ? ?32gcc_-m64_-O3_-fomit-frame-pointer2017090820170904
5614991? ? ?? ? ?32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017090820170904
5678938? ? ?? ? ?32gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
5679740? ? ?? ? ?32gcc_-march=nocona_-O2_-fomit-frame-pointer2017090820170904
5724703? ? ?? ? ?32gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
5756155? ? ?? ? ?32gcc_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
5822774? ? ?? ? ?32gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
5823928? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090820170904
5879588? ? ?? ? ?32gcc_-march=k8_-O2_-fomit-frame-pointer2017090820170904
5879806? ? ?? ? ?32gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017090820170904
5881621? ? ?? ? ?32gcc_-m64_-O2_-fomit-frame-pointer2017090820170904
5884047? ? ?? ? ?32gcc_-O2_-fomit-frame-pointer2017090820170904
5886666? ? ?? ? ?32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090820170904
5889134? ? ?? ? ?32gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017090820170904
5890469? ? ?? ? ?32gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
5902898? ? ?? ? ?32gcc_-march=barcelona_-O2_-fomit-frame-pointer2017090820170904
6073711? ? ?? ? ?32gcc_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
6075186? ? ?? ? ?32gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017090820170904
6076180? ? ?? ? ?32gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090820170904
6112618? ? ?? ? ?32gcc_-Os_-fomit-frame-pointer2017090820170904
6112997? ? ?? ? ?32gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017090820170904
6113124? ? ?? ? ?32gcc_-march=k8_-Os_-fomit-frame-pointer2017090820170904
6115505? ? ?? ? ?32gcc_-m64_-Os_-fomit-frame-pointer2017090820170904
6118502? ? ?? ? ?32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090820170904
8930666? ? ?? ? ?32gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
8949550? ? ?? ? ?32gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017090820170904
8979498? ? ?? ? ?32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017090820170904
8981608? ? ?? ? ?32gcc_-m64_-O_-fomit-frame-pointer2017090820170904
8992471? ? ?? ? ?32gcc_-march=k8_-O_-fomit-frame-pointer2017090820170904
9014938? ? ?? ? ?32gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017090820170904
9018028? ? ?? ? ?32gcc_-O_-fomit-frame-pointer2017090820170904
9153828? ? ?? ? ?32gcc_-m64_-march=k8_-O_-fomit-frame-pointer2017090820170904
9242595? ? ?? ? ?32gcc_-march=nocona_-O_-fomit-frame-pointer2017090820170904
9409073? ? ?? ? ?32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017090820170904
9501941? ? ?? ? ?32gcc_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
9687221? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
9732689? ? ?? ? ?32gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017090820170904
9749323? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017090820170904
9805576? ? ?? ? ?32gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017090820170904
9928937? ? ?? ? ?32gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017090820170904
9949746? ? ?? ? ?32gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017090820170904
10033471? ? ?? ? ?32gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017090820170904
10080831? ? ?? ? ?32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017090820170904
10632177? ? ?? ? ?32gcc_-funroll-loops_-O_-fomit-frame-pointer2017090820170904

Test failure

Implementation: crypto_sign/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: 18, 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
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv amd64

Test failure

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

Number of similar (compiler,implementation) pairs: 52, 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 -O2 -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -O3 -fomit-frame-pointer 32 64
gcc -m64 -march=core2 -O -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -Os -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer 32 64
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer 32 64
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer 32 64 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=native -mtune=native -O -fomit-frame-pointer -fwrapv amd64
gcc -march=nocona -O -fomit-frame-pointer amd64

Test failure

Implementation: crypto_sign/ed448goldilocks/amd64
Compiler: gcc -Os -fomit-frame-pointer
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
gcc -Os -fomit-frame-pointer amd64
gcc -fno-schedule-insns -Os -fomit-frame-pointer amd64
gcc -funroll-loops -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -Os -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer amd64
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer amd64
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer amd64
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer amd64
gcc -m64 -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 -O3 -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=native -mtune=native -Os -fomit-frame-pointer -fwrapv amd64
gcc -march=nocona -O3 -fomit-frame-pointer amd64
gcc -march=nocona -Os -fomit-frame-pointer amd64

Test failure

Implementation: crypto_sign/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_sign/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_sign/ed448goldilocks/amd64
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
error 111
crypto_sign_open returns nonzero
error 111
crypto_sign_open returns nonzero

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

Compiler output

Implementation: crypto_sign/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: 91, 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv arm32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv arm32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv arm32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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_sign/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: 91, 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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_sign/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_sign/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_sign/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