Implementation notes: amd64, h4e350, crypto_sign/ed448goldilocks

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: ed448goldilocks
TimeImplementationCompilerBenchmark dateSUPERCOP version
2352237amd64clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
2353155amd64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
2356767amd64clang -O3 -fomit-frame-pointer2014101920141014
2504220amd64gcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2506236amd64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2511411amd64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
2511942amd64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
2512392amd64gcc -funroll-loops -O -fomit-frame-pointer2014101920141014
2512554amd64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
2512605amd64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
2514465amd64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
2517651amd64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
2517948amd64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
2518929amd64gcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
2520099amd64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
2520132amd64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
2521272amd64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
2521734amd64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
2522598amd64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
2527272amd64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
2527851amd64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
2528283amd64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
2528439amd64gcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
2528739amd64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
2528832amd64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
2529279amd64gcc -O3 -fomit-frame-pointer2014101920141014
2529420amd64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
2529855amd64gcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
2529939amd64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
2530068amd64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
2530824amd64gcc -m64 -O3 -fomit-frame-pointer2014101920141014
2532993amd64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
2533830amd64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
2533836amd64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
2549622amd64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
2550849amd64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2551386amd64gcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
2551893amd64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
2552142amd64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2553399amd64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2554536amd64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2558166amd64gcc -m64 -O2 -fomit-frame-pointer2014101920141014
2558610amd64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
2562138amd64gcc -O2 -fomit-frame-pointer2014101920141014
2562225amd64gcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2562528amd64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
2564535amd64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2581338amd64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
2582118amd64gcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
2585913amd64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
2593773amd64gcc -march=barcelona -O -fomit-frame-pointer2014101920141014
2594754amd64gcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
2594838amd64gcc -march=nocona -O -fomit-frame-pointer2014101920141014
2596131amd64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
2596335amd64gcc -march=k8 -O -fomit-frame-pointer2014101920141014
2597508amd64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
2598255amd64gcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
2603241amd64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
260362264gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
2603694amd64gcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
260791564gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
2610693amd64gcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
2611656amd64gcc -m64 -O -fomit-frame-pointer2014101920141014
2613756amd64gcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
2617047amd64gcc -O -fomit-frame-pointer2014101920141014
263523664gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
263689564gcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
263744164gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
264242164gcc -funroll-loops -O -fomit-frame-pointer2014101920141014
264283564gcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
264318964gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
264621064gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
264658564gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
264679264gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
264852364gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
264885664gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
264942664gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
264981064gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
265276264gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
267566464gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
267576664gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
270730264gcc -O2 -fomit-frame-pointer2014101920141014
270774964gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
270776164gcc -m64 -O2 -fomit-frame-pointer2014101920141014
272114764gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
273593464gcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
273660664clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
273674764clang -O3 -fomit-frame-pointer2014101920141014
273687064gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
273860164clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
273873364gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
274081264gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
274086964gcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
275455264gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
275483164gcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
276607864gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
276661264gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
276745864gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
276781864gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
276840064gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
276977464gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
277041664gcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
277043164gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
277122964gcc -m64 -O3 -fomit-frame-pointer2014101920141014
277235464gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
277450564gcc -O3 -fomit-frame-pointer2014101920141014
278237464gcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
278324764gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
278336164gcc -march=nocona -Os -fomit-frame-pointer2014101920141014
278473864gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
278827564gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
278949664gcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
279246964gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
279249964gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
279387364gcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
279792364gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
279803164gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
280825864gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
280879264gcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
281858464gcc -O -fomit-frame-pointer2014101920141014
281974564gcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
281984464gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
282073264gcc -march=barcelona -O -fomit-frame-pointer2014101920141014
282094264gcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
282101464gcc -m64 -O -fomit-frame-pointer2014101920141014
282179464gcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
282789364gcc -Os -fomit-frame-pointer2014101920141014
282823864gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
282837364gcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
282905464gcc -march=k8 -Os -fomit-frame-pointer2014101920141014
282936664gcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
282972364gcc -m64 -Os -fomit-frame-pointer2014101920141014
283005664gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
283092364gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
283093564gcc -march=k8 -O -fomit-frame-pointer2014101920141014
283220464gcc -march=nocona -O -fomit-frame-pointer2014101920141014
283310764gcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
283393264gcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
284007364gcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
285224464gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
285269164gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
285308464gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
285313864gcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
285454264gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
285529564gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
285760564gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
3644382amd64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
3706221amd64gcc -march=nocona -Os -fomit-frame-pointer2014101920141014
3707157amd64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
3729234amd64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
3733026amd64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
3758529amd64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
3760926amd64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
3761094amd64gcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
3762153amd64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
3799926amd64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
3803643amd64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
3804138amd64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
3805281amd64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
3806334amd64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
3808881amd64gcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
3811596amd64gcc -Os -fomit-frame-pointer2014101920141014
3820041amd64gcc -march=k8 -Os -fomit-frame-pointer2014101920141014
3820536amd64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
3820851amd64gcc -m64 -Os -fomit-frame-pointer2014101920141014
3822948amd64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
6021036arm32clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
6021723arm32clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
6022551arm32clang -O3 -fomit-frame-pointer2014101920141014
714314132clang -O3 -fomit-frame-pointer2014101920141014
732922832clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
733668932clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
767104832gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
768514832gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
768548132gcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
768552932gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
776055932gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
776121932gcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
777877832gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
778017632gcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
778530032gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
778545332gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
778568432gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
778598132gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
780062732gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
780270332gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
780316232gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
781182632gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
781213232gcc -m64 -O2 -fomit-frame-pointer2014101920141014
781313132gcc -O2 -fomit-frame-pointer2014101920141014
783257432gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
783280832gcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
828387632gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
828624932gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
835609532gcc -march=nocona -Os -fomit-frame-pointer2014101920141014
835666232gcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
838904132gcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
838984532gcc -march=k8 -Os -fomit-frame-pointer2014101920141014
838987232gcc -m64 -Os -fomit-frame-pointer2014101920141014
838992932gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
839000732gcc -Os -fomit-frame-pointer2014101920141014
839129432gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
845030732gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
845762732gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
848953232gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
849015632gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
849122732gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
849136832gcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
849139832gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
851812532gcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
851829032gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
852705032gcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
899224232gcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
899400032gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
913419032gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
913464632gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
944225432gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
964628732gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
964730732gcc -O3 -fomit-frame-pointer2014101920141014
964741832gcc -m64 -O3 -fomit-frame-pointer2014101920141014
981716132gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
984337832gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
984405032gcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
986693432gcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
986741132gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
990206432gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
990313232gcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
990349532gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
1008516032gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
1008668132gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
1010896532gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
1011819632gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
1113476164gcc2014101920141014
1113533164gcc -funroll-loops2014101920141014
1113537064cc2014101920141014
1186048832gcc -march=nocona -O -fomit-frame-pointer2014101920141014
1186213532gcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
1199986232gcc -funroll-loops -O -fomit-frame-pointer2014101920141014
1200314432gcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
1200849032gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
1218338732gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
1218509432gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
1220603732gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
1220841932gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
1231206332gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
1231427432gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
1243244432gcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
1243887332gcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
1244041532gcc -m64 -O -fomit-frame-pointer2014101920141014
1244143832gcc -O -fomit-frame-pointer2014101920141014
1284295832gcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
1284517532gcc -march=k8 -O -fomit-frame-pointer2014101920141014
1286151332gcc -march=barcelona -O -fomit-frame-pointer2014101920141014
1286280932gcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
1286462432gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
3517672832gcc -funroll-loops2014101920141014
3519855032gcc2014101920141014
3522417932cc2014101920141014

Test failure

Implementation: crypto_sign/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_sign/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_sign/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_sign/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_sign/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_sign/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_sign/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_sign/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.
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_sign/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'
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'
sign.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_sign/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.
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_sign/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'
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'
sign.c: clang: warning: argument unused during compilation: '-mavx2'
sign.c: clang: warning: argument unused during compilation: '-fpolly'
sign.c: clang: warning: argument unused during compilation: '-fvectorize'
sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
sign.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_sign/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_sign/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