Implementation notes: amd64, skylake, crypto_aead/morus1280256v2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: morus1280256v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
4716avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
4716avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
4738avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
4866avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6192avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
6200avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
6202avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
6342avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
6352avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
6358avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
6592sse2clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6594sse2clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
6602sse2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
6620sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
6632sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
6632avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
6640avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
6642avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
6750sse2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6760avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
6768avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
6778avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
7300sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7302sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
7302sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7320sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9706sse2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
9716sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
9780sse2gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
9786sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
9824sse2gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
9946sse2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
9958sse2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
9960sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
9972sse2gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
9982sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
10006sse2gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
10026sse2gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
10028sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
10030sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
10034sse2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
10048sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
10054sse2gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
10054sse2gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
10066sse2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
10088sse2gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
10622refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
10632refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10646ref64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
10660ref64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10712ref64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10718refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10760refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
10784ref64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10804sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10824sse2gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
10830refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
10852refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
10862sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
10890refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10894refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10894refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
10896sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10900sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
10902sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
10902refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
10910refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
10914sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
10918refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
10918refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
10920refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10922ref64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10924ref64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10926ref64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10928sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
10934refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
10938sse2gcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
10940refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
10940refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
10940sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10946refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
10948ref64gcc -O3 -fomit-frame-pointer2016121620161026
10948sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
10952ref64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
10958ref64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
10960ref64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
10970sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10988refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10988refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
10996refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
10996refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10998refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
11002refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
11012refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
11020refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11020sse2gcc -m64 -O3 -fomit-frame-pointer2016121620161026
11026sse2gcc -O3 -fomit-frame-pointer2016121620161026
11026ref64gcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
11028sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
11028refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
11030sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11030sse2gcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
11036ref64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
11042sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
11048refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
11054refgcc -O3 -fomit-frame-pointer2016121620161026
11054sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
11056sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
11056ref64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
11058sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
11060refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
11060sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
11060refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
11062ref64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
11064sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
11072refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
11074sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
11076sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
11078sse2gcc -funroll-loops -O -fomit-frame-pointer2016121620161026
11078sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
11078refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
11080ref64gcc -m64 -O3 -fomit-frame-pointer2016121620161026
11086sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
11088refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
11090sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11090refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
11094sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
11100refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
11106sse2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
11106ref64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
11108sse2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
11110refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
11112ref64gcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
11114refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11114sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
11118sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
11126sse2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
11132sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11136refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
11146ref64gcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
11152refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
11158sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11178sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11184refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
11186sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11186sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
11190ref64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
11192refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
11192refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
11196sse2gcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
11198refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
11200refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
11200sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
11200sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
11202refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
11204sse2gcc -march=k8 -O -fomit-frame-pointer2016121620161026
11208refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
11210sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
11216sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
11216sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
11216sse2gcc -m64 -O2 -fomit-frame-pointer2016121620161026
11220ref64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
11222sse2gcc -O -fomit-frame-pointer2016121620161026
11224sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
11226sse2gcc -O2 -fomit-frame-pointer2016121620161026
11226sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
11226sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
11226sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
11230sse2gcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
11232sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
11232sse2gcc -march=nocona -O -fomit-frame-pointer2016121620161026
11234refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
11234refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11234sse2gcc -march=barcelona -O -fomit-frame-pointer2016121620161026
11236refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
11236sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
11236sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
11238sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11238sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
11240sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
11244sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
11250sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11260ref64gcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11266ref64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11272refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
11282ref64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
11286refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
11290refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
11290refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
11296refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
11308refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
11332refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11334refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
11334refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
11336refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
11340ref64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
11342refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
11354refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
11354ref64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
11358refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
11364refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
11366refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
11368refgcc -O -fomit-frame-pointer2016121620161026
11370refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
11374refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
11376refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
11378refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
11382refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
11392refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
11394refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
11396sse2gcc -m64 -O -fomit-frame-pointer2016121620161026
11404refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
11412refgcc -O2 -fomit-frame-pointer2016121620161026
11426refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
11428refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
11440refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
11442refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
11450refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
11456refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
11458refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
11458refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
11460refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
11462refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
11466refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
11470refgcc -m64 -O -fomit-frame-pointer2016121620161026
11476refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
11476refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
11478refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
11480refgcc -Os -fomit-frame-pointer2016121620161026
11482refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
11484refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
11486refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
11488refgcc -m64 -Os -fomit-frame-pointer2016121620161026
11492refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
11492refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
11494refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
11494refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
11496refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
11500refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
11502refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
11504refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
11508refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
11530refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
11562refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
11570refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
11572refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
11634ref64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
13908sse2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
13932sse2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
13948sse2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
13952sse2gcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
13962sse2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
13976sse2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
14328sse2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
14554sse2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
14578sse2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
14766sse2gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
15954sse2gcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
15962sse2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
16020sse2gcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
16026sse2gcc -march=k8 -Os -fomit-frame-pointer2016121620161026
16036sse2gcc -m64 -Os -fomit-frame-pointer2016121620161026
16052sse2gcc -Os -fomit-frame-pointer2016121620161026
16060sse2gcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
16096sse2gcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
16100sse2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
16120sse2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
16420sse2gcc -march=nocona -Os -fomit-frame-pointer2016121620161026
16442sse2gcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
16586ref64clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
16810ref64clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
16968ref64clang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
17072ref64clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
17922ref64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
17958ref64gcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
17966ref64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
17970ref64gcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
17976ref64gcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
17978ref64gcc -march=k8 -O -fomit-frame-pointer2016121620161026
17994ref64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
17998ref64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
18012ref64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
18018ref64gcc -march=nocona -O -fomit-frame-pointer2016121620161026
18022ref64gcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
18024ref64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
18028ref64clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
18028ref64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
18034ref64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
18050ref64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
18054ref64gcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
18072ref64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
18076ref64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
18078ref64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
18080ref64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
18086ref64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
18090ref64gcc -m64 -O -fomit-frame-pointer2016121620161026
18104ref64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
18110ref64gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
18114ref64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
18148ref64gcc -O -fomit-frame-pointer2016121620161026
18148ref64gcc -funroll-loops -O -fomit-frame-pointer2016121620161026
18150ref64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
18210ref64gcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
18262ref64gcc -march=barcelona -O -fomit-frame-pointer2016121620161026
18282ref64gcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
18296ref64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
18334ref64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18334ref64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
18340ref64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
18370ref64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
18376ref64gcc -m64 -O2 -fomit-frame-pointer2016121620161026
18378ref64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
18420ref64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
18440ref64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
18478ref64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
18494ref64gcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
18494ref64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18498ref64gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
18510ref64gcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
18512ref64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
18512ref64gcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18528ref64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
18554ref64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
18564ref64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
18594ref64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
18614ref64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
18656ref64gcc -O2 -fomit-frame-pointer2016121620161026
18664ref64gcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18672ref64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
18714ref64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
18714ref64gcc -march=nocona -Os -fomit-frame-pointer2016121620161026
18796ref64gcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
18888ref64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
18892ref64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
18896ref64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
18924ref64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18932ref64gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
18938ref64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
18940ref64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
18942ref64gcc -Os -fomit-frame-pointer2016121620161026
18944ref64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
18948ref64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
18956ref64gcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
18958ref64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
18962ref64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
18964ref64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
18966ref64gcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
18966ref64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
18966ref64gcc -m64 -Os -fomit-frame-pointer2016121620161026
18968ref64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
18970ref64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
18980ref64gcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
19008ref64gcc -march=k8 -Os -fomit-frame-pointer2016121620161026
19032ref64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
19096ref64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
19122ref64gcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
19130ref64gcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
19460ref64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
22098ref64clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
22290ref64clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
67328ref64gcc2016121620161026
67766ref64gcc -funroll-loops2016121620161026
68052ref64cc2016121620161026

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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.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
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: encrypt.c:25:27: note: 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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.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
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 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
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 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
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 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
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 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
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: 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/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-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/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-pc-linux-gnu/6.2.1/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-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
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:27: note: 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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.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
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: encrypt.c:25:27: note: called from here
encrypt.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/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-pc-linux-gnu/6.2.1/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-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
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:27: note: 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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.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
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: encrypt.c:25:27: note: 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-pc-linux-gnu/6.2.1/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-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
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:27: note: 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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.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
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: encrypt.c:25:27: note: 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

Compiler output

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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-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
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:38:27: note: 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-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.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
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: encrypt.c:25:27: note: 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:216:13: note: in expansion of macro 'ROTL256'
encrypt.c: state[4] = ROTL256(state[4], n5);
encrypt.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