Implementation notes: amd64, hydra1, crypto_aead/morus1280256v2

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: morus1280256v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
12043sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
12045sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
12046sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
12054sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016122720161220
12547sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
12552sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016122720161220
15022refgcc -march=k8 -Os -fomit-frame-pointer2016122720161220
15032refgcc -m64 -Os -fomit-frame-pointer2016122720161220
15040refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016122720161220
15062refgcc -Os -fomit-frame-pointer2016122720161220
15062refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
15085refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
15091refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016122720161220
15100refgcc -march=barcelona -Os -fomit-frame-pointer2016122720161220
15112refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
15126refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016122720161220
15128refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016122720161220
15130refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016122720161220
15133refgcc -funroll-loops -Os -fomit-frame-pointer2016122720161220
15139refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
15139refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016122720161220
15149refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016122720161220
15154refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
15157refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016122720161220
15157refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
15160refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016122720161220
15222ref64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016122720161220
15229refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
15237ref64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
15255ref64gcc -march=k8 -O3 -fomit-frame-pointer2016122720161220
15263refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016122720161220
15264ref64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
15277ref64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
15278ref64gcc -O3 -fomit-frame-pointer2016122720161220
15278ref64gcc -m64 -O3 -fomit-frame-pointer2016122720161220
15285ref64gcc -funroll-loops -O3 -fomit-frame-pointer2016122720161220
15288ref64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016122720161220
15302refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
15302refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016122720161220
15304ref64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
15307ref64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
15344ref64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016122720161220
15363refgcc -march=k8 -O2 -fomit-frame-pointer2016122720161220
15370refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
15381refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
15384ref64gcc -march=barcelona -O3 -fomit-frame-pointer2016122720161220
15386refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016122720161220
15389refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
15397refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016122720161220
15410ref64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016122720161220
15413sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
15415ref64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
15416refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016122720161220
15428sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
15430ref64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016122720161220
15430sse2gcc -march=nocona -O3 -fomit-frame-pointer2016122720161220
15442refgcc -march=barcelona -O2 -fomit-frame-pointer2016122720161220
15451sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016122720161220
15488ref64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
15506refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
15517ref64gcc -march=nocona -O3 -fomit-frame-pointer2016122720161220
15520refgcc -march=nocona -Os -fomit-frame-pointer2016122720161220
15544ref64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016122720161220
15549ref64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
15719refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
15723refgcc -funroll-loops -O2 -fomit-frame-pointer2016122720161220
15728refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016122720161220
15733refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016122720161220
15734refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016122720161220
15752refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016122720161220
15757refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016122720161220
15896refgcc -m64 -O2 -fomit-frame-pointer2016122720161220
15936refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016122720161220
15941refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
15952refgcc -O2 -fomit-frame-pointer2016122720161220
15974refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
15988sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
15989sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016122720161220
15992sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016122720161220
16038sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016122720161220
16042refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016122720161220
16050refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
16082sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
16104refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016122720161220
16111refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016122720161220
16112refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
16144refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016122720161220
16146refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016122720161220
16156refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
16168refgcc -march=barcelona -O -fomit-frame-pointer2016122720161220
16198refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
16206refgcc -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
16262refgcc -march=k8 -O -fomit-frame-pointer2016122720161220
16283sse2gcc -O3 -fomit-frame-pointer2016122720161220
16293sse2gcc -m64 -O3 -fomit-frame-pointer2016122720161220
16301sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
16365refgcc -funroll-loops -O -fomit-frame-pointer2016122720161220
16373refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016122720161220
16387refgcc -m64 -march=core2 -O -fomit-frame-pointer2016122720161220
16387refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016122720161220
16392refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016122720161220
16440refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
16456refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016122720161220
16507sse2gcc -march=k8 -O3 -fomit-frame-pointer2016122720161220
16507refgcc -march=nocona -O2 -fomit-frame-pointer2016122720161220
16509sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
16531refgcc -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
16531refgcc -march=nocona -O -fomit-frame-pointer2016122720161220
16557refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
16563refgcc -O -fomit-frame-pointer2016122720161220
16563refgcc -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
16578refgcc -m64 -O -fomit-frame-pointer2016122720161220
16589sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016122720161220
16600sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016122720161220
16602sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016122720161220
16605sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
16669sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016122720161220
16705sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
17552sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
17554refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
17564sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016122720161220
17573sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016122720161220
17581sse2gcc -march=barcelona -O -fomit-frame-pointer2016122720161220
17584refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016122720161220
17589sse2gcc -march=nocona -O2 -fomit-frame-pointer2016122720161220
17618refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
17618sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
17639refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016122720161220
17648sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016122720161220
17657refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
17658sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016122720161220
17667sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
17678sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016122720161220
17679refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016122720161220
17680refgcc -funroll-loops -O3 -fomit-frame-pointer2016122720161220
17681sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016122720161220
17688sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016122720161220
17696sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016122720161220
17739refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
17752sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
17757sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
17760refgcc -march=k8 -O3 -fomit-frame-pointer2016122720161220
17767sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
17773sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016122720161220
17793sse2gcc -march=k8 -O -fomit-frame-pointer2016122720161220
17813sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016122720161220
17816sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
17863sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
17863sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016122720161220
17890sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016122720161220
17890sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016122720161220
17896sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
17897sse2gcc -funroll-loops -O -fomit-frame-pointer2016122720161220
17898sse2gcc -O -fomit-frame-pointer2016122720161220
17909refgcc -march=barcelona -O3 -fomit-frame-pointer2016122720161220
17912refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016122720161220
17920sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016122720161220
17932sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
17932sse2gcc -m64 -O -fomit-frame-pointer2016122720161220
17934refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
17957sse2gcc -march=nocona -O -fomit-frame-pointer2016122720161220
17960sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
17975sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
17979refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
17981refgcc -m64 -O3 -fomit-frame-pointer2016122720161220
17992refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016122720161220
18005refgcc -O3 -fomit-frame-pointer2016122720161220
18119refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
18149refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016122720161220
18378sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016122720161220
18394sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016122720161220
18421refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
18421refgcc -march=nocona -O3 -fomit-frame-pointer2016122720161220
18496sse2gcc -O2 -fomit-frame-pointer2016122720161220
18498sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016122720161220
18499sse2gcc -m64 -O2 -fomit-frame-pointer2016122720161220
18550sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
18555sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
18559sse2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016122720161220
18566sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
18579sse2gcc -funroll-loops -Os -fomit-frame-pointer2016122720161220
18589sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016122720161220
18603sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016122720161220
18617sse2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
18619sse2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016122720161220
18644sse2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
18646sse2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
18648sse2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016122720161220
18656sse2gcc -march=k8 -O2 -fomit-frame-pointer2016122720161220
18712sse2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016122720161220
18800sse2gcc -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
18822sse2gcc -march=nocona -Os -fomit-frame-pointer2016122720161220
18968sse2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
19086sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
19106sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016122720161220
19112sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016122720161220
19126sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016122720161220
19149sse2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016122720161220
19152sse2gcc -m64 -march=core2 -Os -fomit-frame-pointer2016122720161220
19256sse2gcc -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
19293sse2gcc -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
19311sse2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016122720161220
19328sse2gcc -Os -fomit-frame-pointer2016122720161220
19328sse2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
19405sse2gcc -m64 -Os -fomit-frame-pointer2016122720161220
19405sse2gcc -march=k8 -Os -fomit-frame-pointer2016122720161220
19416sse2gcc -march=barcelona -Os -fomit-frame-pointer2016122720161220
19451sse2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016122720161220
19464sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016122720161220
19476sse2gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016122720161220
26320ref64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
26326ref64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
26389ref64gcc -funroll-loops -O2 -fomit-frame-pointer2016122720161220
26418ref64gcc -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
26461ref64gcc -O -fomit-frame-pointer2016122720161220
26483ref64gcc -m64 -march=corei7 -O -fomit-frame-pointer2016122720161220
26509ref64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
26517ref64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016122720161220
26526ref64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016122720161220
26550ref64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016122720161220
26558ref64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016122720161220
26566ref64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26576ref64gcc -march=nocona -O2 -fomit-frame-pointer2016122720161220
26581ref64gcc -funroll-loops -O -fomit-frame-pointer2016122720161220
26582ref64gcc -funroll-loops -m64 -O -fomit-frame-pointer2016122720161220
26597ref64gcc -m64 -O -fomit-frame-pointer2016122720161220
26597ref64gcc -march=k8 -O2 -fomit-frame-pointer2016122720161220
26600ref64gcc -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26602ref64gcc -m64 -O2 -fomit-frame-pointer2016122720161220
26603ref64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016122720161220
26603ref64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016122720161220
26608ref64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
26618ref64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016122720161220
26619ref64gcc -O2 -fomit-frame-pointer2016122720161220
26627ref64gcc -m64 -march=core2 -O -fomit-frame-pointer2016122720161220
26630ref64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016122720161220
26637ref64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
26652ref64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
26669ref64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
26669ref64gcc -march=nocona -O -fomit-frame-pointer2016122720161220
26672ref64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016122720161220
26685ref64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26691ref64gcc -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
26720ref64gcc -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
26728ref64gcc -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
26728ref64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016122720161220
26728ref64gcc -march=barcelona -O -fomit-frame-pointer2016122720161220
26738ref64gcc -march=k8 -O -fomit-frame-pointer2016122720161220
26739ref64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
26756ref64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
26778ref64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26786ref64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016122720161220
26800ref64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016122720161220
26800ref64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016122720161220
26800ref64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016122720161220
26815ref64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
26824ref64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016122720161220
26850ref64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016122720161220
26927ref64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016122720161220
26965ref64gcc -march=nocona -Os -fomit-frame-pointer2016122720161220
26976ref64gcc -march=barcelona -Os -fomit-frame-pointer2016122720161220
26996ref64gcc -march=k8 -Os -fomit-frame-pointer2016122720161220
27005ref64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016122720161220
27016ref64gcc -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
27019ref64gcc -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
27082ref64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016122720161220
27085ref64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016122720161220
27099ref64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
27102ref64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
27144ref64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016122720161220
27146ref64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016122720161220
27160ref64gcc -m64 -march=core2 -Os -fomit-frame-pointer2016122720161220
27184ref64gcc -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
27187ref64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016122720161220
27235ref64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016122720161220
27275ref64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
27283ref64gcc -m64 -Os -fomit-frame-pointer2016122720161220
27300ref64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
27336ref64gcc -Os -fomit-frame-pointer2016122720161220
27349ref64gcc -funroll-loops -Os -fomit-frame-pointer2016122720161220
27357ref64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
27402ref64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016122720161220
31739ref64clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016122720161220
31975ref64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
32149ref64clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
32219ref64clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
32864ref64clang -O3 -fomit-frame-pointer -Qunused-arguments2016122720161220
32928ref64clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
160440ref64cc2016122720161220
160443ref64gcc -funroll-loops2016122720161220
160456ref64gcc2016122720161220

Test failure

Implementation: crypto_aead/morus1280256v2/ref
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref ref64 sse2

Compiler output

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: cc
encrypt.c: encrypt.c: In function 'morus_stateupdate':
encrypt.c: encrypt.c:65:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
encrypt.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
encrypt.c: ^
encrypt.c: encrypt.c:67:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: state[0] = XOR256(state[0], state[3]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^
encrypt.c: encrypt.c:25:27: error: called from here
encrypt.c: #define OR256(x,y) _mm256_or_si256((x),(y)) /*OR(x,y) = x | y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:36:27: note: in expansion of macro 'OR256'
encrypt.c: #define ROTL256(x,n) OR256( _mm256_slli_epi64((x), (n)), _mm256_srli_epi64((x),(64-n)) ) /*Rotate 4 64-bit unsigned integers in x to the left by n-bit positions*/
encrypt.c: ^
encrypt.c: encrypt.c:93:13: note: in expansion of macro 'ROTL256'
encrypt.c: state[4] = ROTL256(state[4], n5);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:696:1: error: inlining failed in call to always_inline '_mm256_slli_epi64': target specific option mismatch
encrypt.c: _mm256_slli_epi64 (__m256i __A, int __B)
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -funroll-loops avx2

Compiler output

Implementation: crypto_aead/morus1280256v2/sse2
Compiler: cc
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `crypto_aead_morus1280256v2_sse2_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `crypto_aead_morus1280256v2_sse2_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc sse2
gcc sse2
gcc -funroll-loops sse2

Compiler output

Implementation: crypto_aead/morus1280256v2/ref
Compiler: cc
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `crypto_aead_morus1280256v2_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `crypto_aead_morus1280256v2_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc ref
gcc ref
gcc -funroll-loops ref

Compiler output

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:67:13: error: always_inline function '_mm256_xor_si256' requires target feature 'sse4.2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'sse4.2'
encrypt.c: state[0] = XOR256(state[0], state[3]);
encrypt.c: ^
encrypt.c: encrypt.c:22:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:68:13: error: always_inline function '_mm256_xor_si256' requires target feature 'sse4.2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'sse4.2'
encrypt.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c: ^
encrypt.c: encrypt.c:22:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:68:30: error: always_inline function '_mm256_and_si256' requires target feature 'sse4.2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'sse4.2'
encrypt.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c: ^
encrypt.c: encrypt.c:23:27: note: expanded from macro 'AND256'
encrypt.c: #define AND256(x,y) _mm256_and_si256((x),(y)) /*AND(x,y) = x & y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:69:13: error: always_inline function '_mm256_or_si256' requires target feature 'sse4.2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'sse4.2'
encrypt.c: state[0] = ROTL256(state[0], n1);
encrypt.c: ^
encrypt.c: encrypt.c:36:27: note: expanded from macro 'ROTL256'
encrypt.c: #define ROTL256(x,n) OR256( _mm256_slli_epi64((x), (n)), _mm256_srli_epi64((x),(64-n)) ) /*Rotate 4 64-bit unsigned integers in x to the left by n-bit positions*/
encrypt.c: ^
encrypt.c: encrypt.c:25:27: note: expanded from macro 'OR256'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: crypto_aead/morus1280256v2/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: crypto_aead_morus1280256v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v2.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:67:13: error: always_inline function '_mm256_xor_si256' requires target feature 'xsave', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'xsave'
encrypt.c: state[0] = XOR256(state[0], state[3]);
encrypt.c: ^
encrypt.c: encrypt.c:22:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:68:13: error: always_inline function '_mm256_xor_si256' requires target feature 'xsave', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'xsave'
encrypt.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c: ^
encrypt.c: encrypt.c:22:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:68:30: error: always_inline function '_mm256_and_si256' requires target feature 'xsave', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'xsave'
encrypt.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c: ^
encrypt.c: encrypt.c:23:27: note: expanded from macro 'AND256'
encrypt.c: #define AND256(x,y) _mm256_and_si256((x),(y)) /*AND(x,y) = x & y, where x and y are two 256-bit word*/
encrypt.c: ^
encrypt.c: encrypt.c:69:13: error: always_inline function '_mm256_or_si256' requires target feature 'xsave', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'xsave'
encrypt.c: state[0] = ROTL256(state[0], n1);
encrypt.c: ^
encrypt.c: encrypt.c:36:27: note: expanded from macro 'ROTL256'
encrypt.c: #define ROTL256(x,n) OR256( _mm256_slli_epi64((x), (n)), _mm256_srli_epi64((x),(64-n)) ) /*Rotate 4 64-bit unsigned integers in x to the left by n-bit positions*/
encrypt.c: ^
encrypt.c: encrypt.c:25:27: note: expanded from macro 'OR256'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'morus_stateupdate':
encrypt.c: encrypt.c:65:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
encrypt.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
encrypt.c: ^
encrypt.c: encrypt.c:67:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: state[0] = XOR256(state[0], state[3]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: encrypt.c: In function 'morus_enc_aut_step':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^
encrypt.c: encrypt.c:38:27: error: called from here
encrypt.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
encrypt.c: ^
encrypt.c: encrypt.c:217:13: note: in expansion of macro 'ROTL256_64'
encrypt.c: state[2] = ROTL256_64(state[2]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^
encrypt.c: encrypt.c:25:27: error: called from here
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'morus_stateupdate':
encrypt.c: encrypt.c:65:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
encrypt.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
encrypt.c: ^
encrypt.c: encrypt.c:67:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: state[0] = XOR256(state[0], state[3]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: encrypt.c: In function 'morus_enc_aut_step':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^
encrypt.c: encrypt.c:38:27: error: called from here
encrypt.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
encrypt.c: ^
encrypt.c: encrypt.c:217:13: note: in expansion of macro 'ROTL256_64'
encrypt.c: state[2] = ROTL256_64(state[2]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^
encrypt.c: encrypt.c:25:27: error: called from here
encrypt.c: ...
encrypt.c: encrypt.c: In function 'morus_stateupdate':
encrypt.c: encrypt.c:65:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
encrypt.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
encrypt.c: ^
encrypt.c: encrypt.c:67:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: state[0] = XOR256(state[0], state[3]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: encrypt.c: In function 'morus_enc_aut_step':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^
encrypt.c: encrypt.c:38:27: error: called from here
encrypt.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
encrypt.c: ^
encrypt.c: encrypt.c:217:13: note: in expansion of macro 'ROTL256_64'
encrypt.c: state[2] = ROTL256_64(state[2]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^
encrypt.c: encrypt.c:25:27: error: called from here
encrypt.c: ...

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