Implementation notes: amd64, skylake, crypto_aead/morus1280256v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: morus1280256v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
4670avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
4674avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
4680avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
4826avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
6060avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
6066avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
6072avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
6232avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
6232avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
6246avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
6558avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
6562avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
6622avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
6672avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
6674avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
6680avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
6718sse2clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6724sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
6736sse2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
6738sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
6742sse2clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
6810sse2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
7162sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7164sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7190sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
7326sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9490sse2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
9490sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
9502sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
9578sse2gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
9586sse2gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
9850sse2gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
9868sse2gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
9872sse2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
9886sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
9892sse2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
9896sse2gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
9896sse2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
9896sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
9910sse2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
9928sse2gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
9928sse2gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
9960sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
9962sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
10006sse2gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
10030sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
10546sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
10574sse2gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
10592sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10606sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
10608sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10612sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10624sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10632refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10640sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
10652sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
10668refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10716sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10720sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10726sse2gcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
10744refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
10758sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10774sse2gcc -O3 -fomit-frame-pointer2016121620161026
10780refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
10786refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
10790sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
10792sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
10794sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
10806refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
10806sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10806sse2gcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
10818refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
10818sse2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
10820sse2gcc -m64 -O3 -fomit-frame-pointer2016121620161026
10824refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
10828refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
10828refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
10828refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
10828refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
10830refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
10836refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
10840refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10840refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10842refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
10844refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10872ref64gcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
10882ref64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10888sse2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
10892refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10894sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10896refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10896sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
10896sse2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
10898ref64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10898sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
10914sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10914sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
10916refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10918refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10920sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
10922sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
10924sse2gcc -funroll-loops -O -fomit-frame-pointer2016121620161026
10924sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
10926sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10926sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
10932sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
10936sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
10950refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10952sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
10952refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
10970refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10972refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
10980refgcc -O3 -fomit-frame-pointer2016121620161026
10980ref64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
10988refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
10996sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10998ref64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
10998refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
10998refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
11006refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
11008refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
11012refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
11018sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11024refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
11030refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
11036refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
11046refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
11046refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
11054sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
11064sse2gcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
11066sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
11070sse2gcc -O2 -fomit-frame-pointer2016121620161026
11070sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11072sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
11074ref64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
11078sse2gcc -O -fomit-frame-pointer2016121620161026
11080sse2gcc -m64 -O2 -fomit-frame-pointer2016121620161026
11080sse2gcc -m64 -O -fomit-frame-pointer2016121620161026
11082refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
11084sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
11090sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
11090sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11092sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11092sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
11092sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
11094sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
11094sse2gcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
11102sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
11102sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
11106refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
11108sse2gcc -march=k8 -O -fomit-frame-pointer2016121620161026
11110ref64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
11110sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
11110sse2gcc -march=nocona -O -fomit-frame-pointer2016121620161026
11114refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
11116sse2gcc -march=barcelona -O -fomit-frame-pointer2016121620161026
11124sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
11126sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
11134sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
11134refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
11136refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
11146refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
11148refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
11148refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
11150refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
11150refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
11158refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
11158refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
11160refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
11160refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
11160refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
11162ref64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11174refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
11178refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
11180ref64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
11180ref64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
11186ref64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11190refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
11194refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
11196refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
11198sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
11198refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
11198refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
11200ref64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
11202refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
11204refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
11206refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
11206refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
11210refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11214refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
11220ref64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
11220refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
11222refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
11226refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
11228refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
11228refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
11228refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
11232refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11234refgcc -m64 -O -fomit-frame-pointer2016121620161026
11236refgcc -Os -fomit-frame-pointer2016121620161026
11236refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
11236ref64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
11238ref64gcc -O3 -fomit-frame-pointer2016121620161026
11242refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
11244refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
11246ref64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11250refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
11254ref64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
11256ref64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
11256refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
11260refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
11260refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11266refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
11268refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
11270ref64gcc -m64 -O3 -fomit-frame-pointer2016121620161026
11270refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
11274refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
11280refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11288refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
11300refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
11314refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
11318refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
11318refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
11326refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11330refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
11332refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
11348refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
11362ref64gcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
11368refgcc -O2 -fomit-frame-pointer2016121620161026
11374refgcc -m64 -Os -fomit-frame-pointer2016121620161026
11380refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11418refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
11428ref64gcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
11436ref64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11444refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
11452refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
11460refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
11480ref64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
11488ref64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
11508refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
11542ref64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11542refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
11610ref64gcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11638refgcc -O -fomit-frame-pointer2016121620161026
11684refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
11788ref64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
11862refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
13696sse2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
13780sse2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
13792sse2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
13796sse2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
13804sse2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
13806sse2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
13852sse2gcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
14254sse2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
14334sse2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
14560sse2gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
15780sse2gcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
15838sse2gcc -Os -fomit-frame-pointer2016121620161026
15844sse2gcc -march=k8 -Os -fomit-frame-pointer2016121620161026
15854sse2gcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
15894sse2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
15900sse2gcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
15976sse2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
16076sse2gcc -m64 -Os -fomit-frame-pointer2016121620161026
16088sse2gcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
16098sse2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
16176sse2gcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
16188sse2gcc -march=nocona -Os -fomit-frame-pointer2016121620161026
16462ref64clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
16590ref64clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
16666ref64clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
16822ref64clang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
17680ref64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
17702ref64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
17712ref64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
17736ref64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
17736ref64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
17742ref64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
17744ref64gcc -m64 -O -fomit-frame-pointer2016121620161026
17750ref64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
17754ref64gcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
17764ref64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
17768ref64clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
17772ref64gcc -O -fomit-frame-pointer2016121620161026
17774ref64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
17776ref64gcc -march=nocona -O -fomit-frame-pointer2016121620161026
17782ref64gcc -march=k8 -O -fomit-frame-pointer2016121620161026
17798ref64gcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
17802ref64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
17806ref64gcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
17812ref64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
17838ref64gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
17852ref64gcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
17880ref64gcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
17894ref64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
17918ref64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
17918ref64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
17934ref64gcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
17936ref64gcc -march=barcelona -O -fomit-frame-pointer2016121620161026
17958ref64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
17988ref64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
18042ref64gcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
18062ref64gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
18074ref64gcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
18092ref64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
18102ref64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
18104ref64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
18106ref64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
18140ref64gcc -m64 -O2 -fomit-frame-pointer2016121620161026
18142ref64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
18142ref64gcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18144ref64gcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
18152ref64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18162ref64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
18186ref64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
18190ref64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
18194ref64gcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
18206ref64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
18216ref64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
18218ref64gcc -O2 -fomit-frame-pointer2016121620161026
18234ref64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
18264ref64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18274ref64gcc -funroll-loops -O -fomit-frame-pointer2016121620161026
18362ref64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
18424ref64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18444ref64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
18444ref64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
18450ref64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
18464ref64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
18484ref64gcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18564ref64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
18566ref64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18584ref64gcc -march=nocona -Os -fomit-frame-pointer2016121620161026
18698ref64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
18698ref64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
18702ref64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
18722ref64gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
18724ref64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
18726ref64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
18744ref64gcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
18750ref64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
18764ref64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
18766ref64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
18768ref64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
18784ref64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
18800ref64gcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
18808ref64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
18816ref64gcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
18828ref64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
18830ref64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
18836ref64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
18838ref64gcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
18876ref64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
18878ref64gcc -Os -fomit-frame-pointer2016121620161026
18958ref64gcc -march=k8 -Os -fomit-frame-pointer2016121620161026
18964ref64gcc -m64 -Os -fomit-frame-pointer2016121620161026
19338ref64gcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
21672ref64clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
21760ref64clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
66636ref64gcc2016121620161026
66958ref64cc2016121620161026
67072ref64gcc -funroll-loops2016121620161026

Compiler output

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

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

Compiler output

Implementation: crypto_aead/morus1280256v1/ref
Compiler: cc
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `crypto_aead_morus1280256v1_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_morus1280256v1.a(encrypt.o): In function `crypto_aead_morus1280256v1_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/morus1280256v1/sse2
Compiler: cc
try.c: crypto_aead_morus1280256v1.a(morus1280256v1sse2.o): In function `crypto_aead_morus1280256v1_sse2_encrypt':
try.c: morus1280256v1sse2.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: morus1280256v1sse2.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: crypto_aead_morus1280256v1.a(morus1280256v1sse2.o): In function `crypto_aead_morus1280256v1_sse2_decrypt':
try.c: morus1280256v1sse2.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: morus1280256v1sse2.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/morus1280256v1/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
morus1280256v1avx2.c: morus1280256v1avx2.c:67:13: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
morus1280256v1avx2.c: state[0] = XOR256(state[0], state[3]);
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:22:27: note: expanded from macro 'XOR256'
morus1280256v1avx2.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:68:13: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
morus1280256v1avx2.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:22:27: note: expanded from macro 'XOR256'
morus1280256v1avx2.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:68:30: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
morus1280256v1avx2.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:23:27: note: expanded from macro 'AND256'
morus1280256v1avx2.c: #define AND256(x,y) _mm256_and_si256((x),(y)) /*AND(x,y) = x & y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:69:13: error: always_inline function '_mm256_or_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
morus1280256v1avx2.c: state[0] = ROTL256(state[0], n1);
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:36:27: note: expanded from macro 'ROTL256'
morus1280256v1avx2.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*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:25:27: note: expanded from macro 'OR256'
morus1280256v1avx2.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -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/morus1280256v1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: crypto_aead_morus1280256v1.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_morus1280256v1.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -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/morus1280256v1/avx2
Compiler: gcc -O2 -fomit-frame-pointer
morus1280256v1avx2.c: morus1280256v1avx2.c: In function 'morus_stateupdate':
morus1280256v1avx2.c: morus1280256v1avx2.c:65:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
morus1280256v1avx2.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:67:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
morus1280256v1avx2.c: state[0] = XOR256(state[0], state[3]);
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
morus1280256v1avx2.c: from morus1280256v1avx2.c:2:
morus1280256v1avx2.c: morus1280256v1avx2.c: In function 'morus_enc_aut_step':
morus1280256v1avx2.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
morus1280256v1avx2.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:38:27: note: called from here
morus1280256v1avx2.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:216:13: note: in expansion of macro 'ROTL256_64'
morus1280256v1avx2.c: state[2] = ROTL256_64(state[2]);
morus1280256v1avx2.c: ^~~~~~~~~~
morus1280256v1avx2.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
morus1280256v1avx2.c: from morus1280256v1avx2.c:2:
morus1280256v1avx2.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
morus1280256v1avx2.c: _mm256_or_si256 (__m256i __A, __m256i __B)
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:25:27: note: called from here
morus1280256v1avx2.c: ...

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

Compiler output

Implementation: crypto_aead/morus1280256v1/avx2
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
morus1280256v1avx2.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
morus1280256v1avx2.c: from morus1280256v1avx2.c:2:
morus1280256v1avx2.c: morus1280256v1avx2.c: In function 'morus_enc_aut_step':
morus1280256v1avx2.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
morus1280256v1avx2.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:38:27: note: called from here
morus1280256v1avx2.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:216:13: note: in expansion of macro 'ROTL256_64'
morus1280256v1avx2.c: state[2] = ROTL256_64(state[2]);
morus1280256v1avx2.c: ^~~~~~~~~~
morus1280256v1avx2.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
morus1280256v1avx2.c: from morus1280256v1avx2.c:2:
morus1280256v1avx2.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
morus1280256v1avx2.c: _mm256_or_si256 (__m256i __A, __m256i __B)
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:25:27: note: called from here
morus1280256v1avx2.c: #define OR256(x,y) _mm256_or_si256((x),(y)) /*OR(x,y) = x | y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:36:27: note: in expansion of macro 'OR256'
morus1280256v1avx2.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*/
morus1280256v1avx2.c: ^~~~~
morus1280256v1avx2.c: morus1280256v1avx2.c:215:13: note: in expansion of macro 'ROTL256'
morus1280256v1avx2.c: state[4] = ROTL256(state[4], n5);
morus1280256v1avx2.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx2