Implementation notes: amd64, h4e350, crypto_dh/ed448goldilocks

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_dh
Primitive: ed448goldilocks
TimeImplementationCompilerBenchmark dateSUPERCOP version
4276317amd64clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
4276998amd64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
4281633amd64clang -O3 -fomit-frame-pointer2014101920141014
4586898amd64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
4588026amd64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
4589058amd64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
4589439amd64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
4591272amd64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
4591677amd64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
4591830amd64gcc -funroll-loops -O -fomit-frame-pointer2014101920141014
4596039amd64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
4601334amd64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
4602564amd64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
4604274amd64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
4607259amd64gcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
4621137amd64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
4622730amd64gcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
4626282amd64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
4626402amd64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
4628346amd64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
4638720amd64gcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
4642185amd64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
4643193amd64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
4643334amd64gcc -m64 -O3 -fomit-frame-pointer2014101920141014
4645989amd64gcc -O3 -fomit-frame-pointer2014101920141014
4648131amd64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
4649682amd64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
4649991amd64gcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
4650408amd64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
4651611amd64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
4651674amd64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
4652010amd64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
4652199amd64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
4653375amd64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
4663392amd64gcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
4664397amd64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
4685217amd64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
4685889amd64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
4687509amd64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
4706802amd64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
4709409amd64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
4718796amd64gcc -O2 -fomit-frame-pointer2014101920141014
4719891amd64gcc -m64 -O2 -fomit-frame-pointer2014101920141014
4720182amd64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
4723422amd64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
4727772amd64gcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
4728429amd64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
4753632amd64gcc -march=nocona -O -fomit-frame-pointer2014101920141014
4759464amd64gcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
4760328amd64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
4760859amd64gcc -march=barcelona -O -fomit-frame-pointer2014101920141014
4761726amd64gcc -march=k8 -O -fomit-frame-pointer2014101920141014
4765326amd64gcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
4770423amd64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
4776771amd64gcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
4777797amd64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
4786092amd64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
479410564gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
479470564gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
4800594amd64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
4801854amd64gcc -m64 -O -fomit-frame-pointer2014101920141014
4803126amd64gcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
4803819amd64gcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
4804512amd64gcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
4806360amd64gcc -O -fomit-frame-pointer2014101920141014
486655564gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
486669964gcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
486702664gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
489568564gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
489728764gcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
489820264gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
489851464gcc -funroll-loops -O -fomit-frame-pointer2014101920141014
489902464gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
489999364gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
490017664gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
490318564gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
490330264gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
491697064gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
491939464gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
494052064gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
494070664gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
498519664clang -O3 -fomit-frame-pointer2014101920141014
498630364clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
498751264clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
509267164gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
509481664gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
509643664gcc -m64 -O2 -fomit-frame-pointer2014101920141014
509675464gcc -O2 -fomit-frame-pointer2014101920141014
509887864gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
510695164gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
511416364gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
511482364gcc -O3 -fomit-frame-pointer2014101920141014
511619464gcc -m64 -O3 -fomit-frame-pointer2014101920141014
511744264gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
511855264gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
512362564gcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
512689564gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
512802064gcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
512901664gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
513092764gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
513237064gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
513242764gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
513679564gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
514970764gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
515085964gcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
515213764gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
515466064gcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
515610964gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
515611864gcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
516547564gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
516589864gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
516624064gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
516825664gcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
516927364gcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
517624564gcc -march=nocona -Os -fomit-frame-pointer2014101920141014
519828364gcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
519981964gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
520051264gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
520507264gcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
520600564gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
520839664gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
522663664gcc -m64 -Os -fomit-frame-pointer2014101920141014
522672964gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
522765364gcc -march=k8 -Os -fomit-frame-pointer2014101920141014
522842164gcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
522914164gcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
523060264gcc -Os -fomit-frame-pointer2014101920141014
523314364gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
524593864gcc -march=nocona -O -fomit-frame-pointer2014101920141014
524610664gcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
525169564gcc -O -fomit-frame-pointer2014101920141014
525432664gcc -m64 -O -fomit-frame-pointer2014101920141014
525476464gcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
526152964gcc -march=k8 -O -fomit-frame-pointer2014101920141014
526158964gcc -march=barcelona -O -fomit-frame-pointer2014101920141014
526353064gcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
526427164gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
526467364gcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
526485364gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
526594264gcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
526638064gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
526820464gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
526969264gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
527016964gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
527476564gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
529159864gcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
6751470amd64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
6838509amd64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
6841872amd64gcc -march=nocona -Os -fomit-frame-pointer2014101920141014
6865602amd64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
6865761amd64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
6918108amd64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
6919299amd64gcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
6946524amd64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
6948549amd64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
7007613amd64gcc -Os -fomit-frame-pointer2014101920141014
7009125amd64gcc -march=k8 -Os -fomit-frame-pointer2014101920141014
7009338amd64gcc -m64 -Os -fomit-frame-pointer2014101920141014
7009422amd64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
7011111amd64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
7024524amd64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
7035957amd64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
7037310amd64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
7039209amd64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
7040841amd64gcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
7044003amd64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
11262237arm32clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
11264217arm32clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
11268651arm32clang -O3 -fomit-frame-pointer2014101920141014
1307912132clang -O3 -fomit-frame-pointer2014101920141014
1346610032clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
1346735132clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
1416396632gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
1419153932gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
1419192632gcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
1419243032gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
1432822832gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
1433002532gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
1433775932gcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
1433981432gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
1435338932gcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
1435489832gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
1436261132gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
1437159932gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
1437184832gcc -O2 -fomit-frame-pointer2014101920141014
1437228032gcc -m64 -O2 -fomit-frame-pointer2014101920141014
1438095032gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
1438343432gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
1443321932gcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
1443354032gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
1443425732gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
1443660332gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
1524723932gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
1524859832gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
1540928432gcc -march=nocona -Os -fomit-frame-pointer2014101920141014
1541066132gcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
1547622032gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
1547805032gcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
1547901932gcc -Os -fomit-frame-pointer2014101920141014
1547958332gcc -march=k8 -Os -fomit-frame-pointer2014101920141014
1548018632gcc -m64 -Os -fomit-frame-pointer2014101920141014
1548201032gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
1550155832gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
1550368832gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
1570298432gcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
1570751132gcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
1570757432gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
1574641532gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
1574854832gcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
1574864132gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
1575003332gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
1575153032gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
1649232032gcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
1649301332gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
1680396332gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
1680534632gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
1736932532gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
1776219932gcc -O3 -fomit-frame-pointer2014101920141014
1776334232gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
1777029332gcc -m64 -O3 -fomit-frame-pointer2014101920141014
1807446932gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
1811160032gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
1811566832gcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
1814011532gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
1814431832gcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
1823476232gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
1823726432gcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
1823782532gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
1856512832gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
1856850632gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
1863973232gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
1864462832gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2046238864cc2014101920141014
2046367564gcc2014101920141014
2046410764gcc -funroll-loops2014101920141014
2242956032gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
2245752932gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
2268825032gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
2269684532gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
2271955232gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
2272113932gcc -funroll-loops -O -fomit-frame-pointer2014101920141014
2272152632gcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
2283099632gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
2283107732gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
2329132232gcc -O -fomit-frame-pointer2014101920141014
2329343432gcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
2329756532gcc -m64 -O -fomit-frame-pointer2014101920141014
2331534332gcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
2375534132gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
2376798632gcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
2377009532gcc -march=barcelona -O -fomit-frame-pointer2014101920141014
2377779632gcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
2377875032gcc -march=k8 -O -fomit-frame-pointer2014101920141014
2477136332gcc -march=nocona -O -fomit-frame-pointer2014101920141014
2477880032gcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
6458762732gcc2014101920141014
6463785632cc2014101920141014
6475687832gcc -funroll-loops2014101920141014

Test failure

Implementation: crypto_dh/ed448goldilocks/amd64
Compiler: cc
error 111

Number of similar (compiler,implementation) pairs: 30, namely:
CompilerImplementations
cc amd64
gcc amd64
gcc -funroll-loops amd64
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer 32 64 amd64
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 -O -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=corei7 -O -fomit-frame-pointer 32 64 amd64
gcc -m64 -march=corei7 -Os -fomit-frame-pointer 32 64 amd64

Compiler output

Implementation: crypto_dh/ed448goldilocks/arm32
Compiler: cc
crandom.c: In file included from magic.h:15:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194:24: 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:24: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'

Number of similar (compiler,implementation) pairs: 88, 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 -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 -O -fomit-frame-pointer arm32
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer arm32
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer arm32
gcc -m64 -march=corei7 -O -fomit-frame-pointer arm32
gcc -m64 -march=corei7 -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:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314:14: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: p448.h:318:15: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: p448.h:320:5: error: can't convert between vector values of different size

Number of similar (compiler,implementation) pairs: 88, 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 -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 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer neon
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer neon
gcc -m64 -march=corei7 -O -fomit-frame-pointer neon
gcc -m64 -march=corei7 -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/neon
Compiler: clang -O3 -fomit-frame-pointer
crandom.c: In file included from crandom.c:11:
crandom.c: In file included from ./magic.h:15:
crandom.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: tmp = vshr_n_u32(aa[7],28);
crandom.c: ^
crandom.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
crandom.c: ^
crandom.c: 3 warnings generated.
ec_point.c: In file included from ec_point.c:12:
ec_point.c: In file included from ./ec_point.h:13:
ec_point.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: tmp = vshr_n_u32(aa[7],28);
ec_point.c: ^
ec_point.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
ec_point.c: ^
ec_point.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
ec_point.c: ^
ec_point.c: 3 warnings generated.
goldilocks.c: In file included from goldilocks.c:15:
goldilocks.c: In file included from ./ec_point.h:13:
goldilocks.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: tmp = vshr_n_u32(aa[7],28);
goldilocks.c: ^
goldilocks.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
goldilocks.c: ^
goldilocks.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
goldilocks.c: ^
goldilocks.c: 3 warnings generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:15:
magic.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: tmp = vshr_n_u32(aa[7],28);
magic.c: ^
magic.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
magic.c: ^
magic.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
magic.c: ^
magic.c: 3 warnings generated.
p448.c: In file included from p448.c:6:
p448.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: tmp = vshr_n_u32(aa[7],28);
p448.c: ^
p448.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
p448.c: ^
p448.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
p448.c: ^
p448.c: p448.c:19:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vadd.s64 %f0, %e0" : "+w"(x));
p448.c: ^
p448.c: p448.c:25:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vswp.s64 %e0, %f0" : "+w"(x));
p448.c: ^
p448.c: p448.c:31:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vswp.s64 %e0, %f0" : "+w"(x));
p448.c: ^
p448.c: p448.c:362:12: error: unknown register name 'q0' in asm
p448.c: :: "q0","q1","q2","q3",
p448.c: ^
p448.c: p448.c:564:12: error: unknown register name 'q0' in asm
p448.c: :: "q0","q1","q2","q3",
p448.c: ^
p448.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer neon

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer 32 64 amd64 arm32

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
barrett_field.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
barrett_field.c: clang: warning: argument unused during compilation: '-mavx2'
barrett_field.c: clang: warning: argument unused during compilation: '-mpclmul'
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:28:
barrett_field.c: In file included from /usr/include/clang/3.0/include/immintrin.h:52:
barrett_field.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
barrett_field.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
barrett_field.c: #error "SSE4.1 instruction set not enabled"
barrett_field.c: ^
barrett_field.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer 32 64 amd64 arm32 neon

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
barrett_field.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
barrett_field.c: clang: warning: argument unused during compilation: '-mavx2'
barrett_field.c: clang: warning: argument unused during compilation: '-mpclmul'
barrett_field.c: clang: warning: argument unused during compilation: '-fpolly'
barrett_field.c: clang: warning: argument unused during compilation: '-fvectorize'
barrett_field.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
barrett_field.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:28:
barrett_field.c: In file included from /usr/include/clang/3.0/include/immintrin.h:52:
barrett_field.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
barrett_field.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
barrett_field.c: #error "SSE4.1 instruction set not enabled"
barrett_field.c: ^
barrett_field.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer 32 64 amd64 arm32 neon

Compiler output

Implementation: crypto_dh/ed448goldilocks/neon
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
barrett_field.c: clang: warning: argument unused during compilation: '-mavx2'
crandom.c: clang: warning: argument unused during compilation: '-mavx2'
crandom.c: In file included from crandom.c:11:
crandom.c: In file included from ./magic.h:15:
crandom.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: tmp = vshr_n_u32(aa[7],28);
crandom.c: ^
crandom.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
crandom.c: ^
crandom.c: 3 warnings generated.
dh.c: clang: warning: argument unused during compilation: '-mavx2'
ec_point.c: clang: warning: argument unused during compilation: '-mavx2'
ec_point.c: In file included from ec_point.c:12:
ec_point.c: In file included from ./ec_point.h:13:
ec_point.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: tmp = vshr_n_u32(aa[7],28);
ec_point.c: ^
ec_point.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
ec_point.c: ^
ec_point.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
ec_point.c: ^
ec_point.c: 3 warnings generated.
goldilocks.c: clang: warning: argument unused during compilation: '-mavx2'
goldilocks.c: In file included from goldilocks.c:15:
goldilocks.c: In file included from ./ec_point.h:13:
goldilocks.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: tmp = vshr_n_u32(aa[7],28);
goldilocks.c: ^
goldilocks.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
goldilocks.c: ^
goldilocks.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
goldilocks.c: ^
goldilocks.c: 3 warnings generated.
magic.c: clang: warning: argument unused during compilation: '-mavx2'
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:15:
magic.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: tmp = vshr_n_u32(aa[7],28);
magic.c: ^
magic.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
magic.c: ^
magic.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
magic.c: ^
magic.c: 3 warnings generated.
p448.c: clang: warning: argument unused during compilation: '-mavx2'
p448.c: In file included from p448.c:6:
p448.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: tmp = vshr_n_u32(aa[7],28);
p448.c: ^
p448.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
p448.c: ^
p448.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
p448.c: ^
p448.c: p448.c:19:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vadd.s64 %f0, %e0" : "+w"(x));
p448.c: ^
p448.c: p448.c:25:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vswp.s64 %e0, %f0" : "+w"(x));
p448.c: ^
p448.c: p448.c:31:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vswp.s64 %e0, %f0" : "+w"(x));
p448.c: ^
p448.c: p448.c:362:12: error: unknown register name 'q0' in asm
p448.c: :: "q0","q1","q2","q3",
p448.c: ^
p448.c: p448.c:564:12: error: unknown register name 'q0' in asm
p448.c: :: "q0","q1","q2","q3",
p448.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer neon

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
barrett_field.c: clang: warning: argument unused during compilation: '-mavx2'
crandom.c: clang: warning: argument unused during compilation: '-mavx2'
dh.c: clang: warning: argument unused during compilation: '-mavx2'
ec_point.c: clang: warning: argument unused during compilation: '-mavx2'
goldilocks.c: clang: warning: argument unused during compilation: '-mavx2'
magic.c: clang: warning: argument unused during compilation: '-mavx2'
p448.c: clang: warning: argument unused during compilation: '-mavx2'
scalarmul.c: clang: warning: argument unused during compilation: '-mavx2'
sha512.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer 32 64 amd64 arm32

Compiler output

Implementation: crypto_dh/ed448goldilocks/neon
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
barrett_field.c: clang: warning: argument unused during compilation: '-mavx2'
barrett_field.c: clang: warning: argument unused during compilation: '-fpolly'
barrett_field.c: clang: warning: argument unused during compilation: '-fvectorize'
barrett_field.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
barrett_field.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
crandom.c: clang: warning: argument unused during compilation: '-mavx2'
crandom.c: clang: warning: argument unused during compilation: '-fpolly'
crandom.c: clang: warning: argument unused during compilation: '-fvectorize'
crandom.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
crandom.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
crandom.c: In file included from crandom.c:11:
crandom.c: In file included from ./magic.h:15:
crandom.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: tmp = vshr_n_u32(aa[7],28);
crandom.c: ^
crandom.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
crandom.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
crandom.c: ^
crandom.c: 3 warnings generated.
dh.c: clang: warning: argument unused during compilation: '-mavx2'
dh.c: clang: warning: argument unused during compilation: '-fpolly'
dh.c: clang: warning: argument unused during compilation: '-fvectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
ec_point.c: clang: warning: argument unused during compilation: '-mavx2'
ec_point.c: clang: warning: argument unused during compilation: '-fpolly'
ec_point.c: clang: warning: argument unused during compilation: '-fvectorize'
ec_point.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
ec_point.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
ec_point.c: In file included from ec_point.c:12:
ec_point.c: In file included from ./ec_point.h:13:
ec_point.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: tmp = vshr_n_u32(aa[7],28);
ec_point.c: ^
ec_point.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
ec_point.c: ^
ec_point.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
ec_point.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
ec_point.c: ^
ec_point.c: 3 warnings generated.
goldilocks.c: clang: warning: argument unused during compilation: '-mavx2'
goldilocks.c: clang: warning: argument unused during compilation: '-fpolly'
goldilocks.c: clang: warning: argument unused during compilation: '-fvectorize'
goldilocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
goldilocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
goldilocks.c: In file included from goldilocks.c:15:
goldilocks.c: In file included from ./ec_point.h:13:
goldilocks.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: tmp = vshr_n_u32(aa[7],28);
goldilocks.c: ^
goldilocks.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
goldilocks.c: ^
goldilocks.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
goldilocks.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
goldilocks.c: ^
goldilocks.c: 3 warnings generated.
magic.c: clang: warning: argument unused during compilation: '-mavx2'
magic.c: clang: warning: argument unused during compilation: '-fpolly'
magic.c: clang: warning: argument unused during compilation: '-fvectorize'
magic.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
magic.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:15:
magic.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: tmp = vshr_n_u32(aa[7],28);
magic.c: ^
magic.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
magic.c: ^
magic.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
magic.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
magic.c: ^
magic.c: 3 warnings generated.
p448.c: clang: warning: argument unused during compilation: '-mavx2'
p448.c: clang: warning: argument unused during compilation: '-fpolly'
p448.c: clang: warning: argument unused during compilation: '-fvectorize'
p448.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
p448.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
p448.c: In file included from p448.c:6:
p448.c: ./p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: tmp = vshr_n_u32(aa[7],28);
p448.c: ^
p448.c: ./p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
p448.c: ^
p448.c: ./p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' is invalid in C99 [-Wimplicit-function-declaration]
p448.c: aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
p448.c: ^
p448.c: p448.c:19:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vadd.s64 %f0, %e0" : "+w"(x));
p448.c: ^
p448.c: p448.c:25:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vswp.s64 %e0, %f0" : "+w"(x));
p448.c: ^
p448.c: p448.c:31:36: error: invalid output constraint '+w' in asm
p448.c: __asm__ ("vswp.s64 %e0, %f0" : "+w"(x));
p448.c: ^
p448.c: p448.c:362:12: error: unknown register name 'q0' in asm
p448.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer neon

Compiler output

Implementation: crypto_dh/ed448goldilocks/32
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
barrett_field.c: clang: warning: argument unused during compilation: '-mavx2'
barrett_field.c: clang: warning: argument unused during compilation: '-fpolly'
barrett_field.c: clang: warning: argument unused during compilation: '-fvectorize'
barrett_field.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
barrett_field.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
crandom.c: clang: warning: argument unused during compilation: '-mavx2'
crandom.c: clang: warning: argument unused during compilation: '-fpolly'
crandom.c: clang: warning: argument unused during compilation: '-fvectorize'
crandom.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
crandom.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
dh.c: clang: warning: argument unused during compilation: '-mavx2'
dh.c: clang: warning: argument unused during compilation: '-fpolly'
dh.c: clang: warning: argument unused during compilation: '-fvectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
ec_point.c: clang: warning: argument unused during compilation: '-mavx2'
ec_point.c: clang: warning: argument unused during compilation: '-fpolly'
ec_point.c: clang: warning: argument unused during compilation: '-fvectorize'
ec_point.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
ec_point.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
goldilocks.c: clang: warning: argument unused during compilation: '-mavx2'
goldilocks.c: clang: warning: argument unused during compilation: '-fpolly'
goldilocks.c: clang: warning: argument unused during compilation: '-fvectorize'
goldilocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
goldilocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
magic.c: clang: warning: argument unused during compilation: '-mavx2'
magic.c: clang: warning: argument unused during compilation: '-fpolly'
magic.c: clang: warning: argument unused during compilation: '-fvectorize'
magic.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
magic.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
p448.c: clang: warning: argument unused during compilation: '-mavx2'
p448.c: clang: warning: argument unused during compilation: '-fpolly'
p448.c: clang: warning: argument unused during compilation: '-fvectorize'
p448.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
p448.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
scalarmul.c: clang: warning: argument unused during compilation: '-mavx2'
scalarmul.c: clang: warning: argument unused during compilation: '-fpolly'
scalarmul.c: clang: warning: argument unused during compilation: '-fvectorize'
scalarmul.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scalarmul.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
sha512.c: clang: warning: argument unused during compilation: '-mavx2'
sha512.c: clang: warning: argument unused during compilation: '-fpolly'
sha512.c: clang: warning: argument unused during compilation: '-fvectorize'
sha512.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
sha512.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer 32 64 amd64 arm32

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:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194:24: 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:24: error: incompatible types when initializing type 'big_register_t' using type 'mask_t'
crandom.c: In file included from magic.h:15:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_cond_swap':
crandom.c: p448.h:194:24: 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:24: 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:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314:14: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: p448.h:318:15: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: p448.h:320:5: error: can't convert between vector values of different size
crandom.c: In file included from magic.h:15:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314:14: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: p448.h:318:15: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: p448.h:320:5: 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