Implementation notes: amd64, calvin, crypto_aead/morus1280256v2

Computer: calvin
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: morus1280256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9071? ? ?? ? ?sse2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017081820170725
9071? ? ?? ? ?sse2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017081820170725
9345? ? ?? ? ?sse2clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
9364? ? ?? ? ?sse2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2017081820170725
9402? ? ?? ? ?sse2clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
9464? ? ?? ? ?sse2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
9659? ? ?? ? ?sse2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
9690? ? ?? ? ?sse2clang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017081820170725
11905? ? ?? ? ?sse2gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017081820170725
12022? ? ?? ? ?sse2gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017081820170725
12293? ? ?? ? ?sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017081820170725
12342? ? ?? ? ?sse2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017081820170725
12384? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017081820170725
12418? ? ?? ? ?sse2gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017081820170725
12427? ? ?? ? ?sse2gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
12439? ? ?? ? ?sse2gcc_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
12541? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017081820170725
12548? ? ?? ? ?sse2gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017081820170725
12551? ? ?? ? ?sse2gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
12676? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
12822? ? ?? ? ?sse2gcc_-m64_-O3_-fomit-frame-pointer2017081820170725
12835? ? ?? ? ?sse2gcc_-O3_-fomit-frame-pointer2017081820170725
12851? ? ?? ? ?sse2gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017081820170725
12852? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017081820170725
12880? ? ?? ? ?sse2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081820170725
12967? ? ?? ? ?sse2gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017081820170725
13017? ? ?? ? ?sse2gcc_-march=k8_-O3_-fomit-frame-pointer2017081820170725
13051? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017081820170725
13054? ? ?? ? ?sse2gcc_-funroll-loops_-O3_-fomit-frame-pointer2017081820170725
13059? ? ?? ? ?sse2gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
13069? ? ?? ? ?sse2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081820170725
13071? ? ?? ? ?sse2gcc_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
13084? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
13129? ? ?? ? ?sse2gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
13761? ? ?? ? ?sse2gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017081820170725
13885? ? ?? ? ?sse2gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017081820170725
13901? ? ?? ? ?sse2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017081820170725
13964? ? ?? ? ?sse2gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017081820170725
14020? ? ?? ? ?sse2gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017081820170725
14072? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017081820170725
14075? ? ?? ? ?sse2gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017081820170725
14081? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
14093? ? ?? ? ?sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017081820170725
14131? ? ?? ? ?sse2gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017081820170725
14141? ? ?? ? ?sse2gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017081820170725
14156? ? ?? ? ?sse2gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
14207? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017081820170725
14240? ? ?? ? ?sse2gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017081820170725
14252? ? ?? ? ?sse2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081820170725
14262? ? ?? ? ?sse2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017081820170725
14263? ? ?? ? ?sse2gcc_-m64_-march=k8_-O_-fomit-frame-pointer2017081820170725
14269? ? ?? ? ?sse2gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
14270? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017081820170725
14274? ? ?? ? ?sse2gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017081820170725
14287? ? ?? ? ?sse2gcc_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
14294? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017081820170725
14297? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017081820170725
14297? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
14302? ? ?? ? ?sse2gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
14305? ? ?? ? ?sse2gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017081820170725
14305? ? ?? ? ?sse2gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
14306? ? ?? ? ?sse2gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017081820170725
14307? ? ?? ? ?sse2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017081820170725
14307? ? ?? ? ?sse2gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017081820170725
14321? ? ?? ? ?sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017081820170725
14328? ? ?? ? ?sse2gcc_-Os_-fomit-frame-pointer2017081820170725
14333? ? ?? ? ?sse2gcc_-funroll-loops_-Os_-fomit-frame-pointer2017081820170725
14333? ? ?? ? ?sse2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081820170725
14333? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017081820170725
14333? ? ?? ? ?sse2gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017081820170725
14338? ? ?? ? ?sse2gcc_-march=k8_-O2_-fomit-frame-pointer2017081820170725
14339? ? ?? ? ?sse2gcc_-funroll-loops_-O_-fomit-frame-pointer2017081820170725
14340? ? ?? ? ?sse2gcc_-m64_-Os_-fomit-frame-pointer2017081820170725
14351? ? ?? ? ?sse2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081820170725
14351? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
14354? ? ?? ? ?sse2gcc_-m64_-O2_-fomit-frame-pointer2017081820170725
14364? ? ?? ? ?sse2gcc_-O_-fomit-frame-pointer2017081820170725
14401? ? ?? ? ?sse2gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017081820170725
14407? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017081820170725
14411? ? ?? ? ?sse2gcc_-march=nocona_-O_-fomit-frame-pointer2017081820170725
14417? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017081820170725
14423? ? ?? ? ?sse2gcc_-O2_-fomit-frame-pointer2017081820170725
14423? ? ?? ? ?sse2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017081820170725
14424? ? ?? ? ?sse2gcc_-march=k8_-O_-fomit-frame-pointer2017081820170725
14425? ? ?? ? ?sse2gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017081820170725
14432? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017081820170725
14435? ? ?? ? ?sse2gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017081820170725
14443? ? ?? ? ?sse2gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017081820170725
14444? ? ?? ? ?sse2gcc_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
14449? ? ?? ? ?sse2gcc_-march=k8_-Os_-fomit-frame-pointer2017081820170725
14465? ? ?? ? ?sse2gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
14468? ? ?? ? ?sse2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081820170725
14479? ? ?? ? ?sse2gcc_-m64_-O_-fomit-frame-pointer2017081820170725
14489? ? ?? ? ?sse2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017081820170725
14508? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
14510? ? ?? ? ?sse2gcc_-funroll-loops_-O2_-fomit-frame-pointer2017081820170725
14511? ? ?? ? ?sse2gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
14513? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017081820170725
14522? ? ?? ? ?sse2gcc_-m64_-march=core2_-O_-fomit-frame-pointer2017081820170725
14526? ? ?? ? ?sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017081820170725
14530? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
14584? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017081820170725
14625? ? ?? ? ?sse2gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
14627? ? ?? ? ?sse2gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
14639? ? ?? ? ?sse2gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
14640? ? ?? ? ?sse2gcc_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
14645? ? ?? ? ?sse2gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017081820170725
14702? ? ?? ? ?sse2gcc_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
14740? ? ?? ? ?sse2gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017081820170725
14914? ? ?? ? ?sse2gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
14989? ? ?? ? ?sse2gcc_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
17220? ? ?? ? ?ref64gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
17272? ? ?? ? ?ref64gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017081820170725
17297? ? ?? ? ?ref64gcc_-funroll-loops_-O3_-fomit-frame-pointer2017081820170725
17310? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017081820170725
17346? ? ?? ? ?ref64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081820170725
17347? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017081820170725
17381? ? ?? ? ?ref64gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017081820170725
17390? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
17414? ? ?? ? ?ref64gcc_-march=k8_-O3_-fomit-frame-pointer2017081820170725
17441? ? ?? ? ?ref64gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017081820170725
17443? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017081820170725
17468? ? ?? ? ?ref64gcc_-m64_-O3_-fomit-frame-pointer2017081820170725
17496? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017081820170725
17499? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017081820170725
17519? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
17534? ? ?? ? ?ref64gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017081820170725
17536? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
17552? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017081820170725
17584? ? ?? ? ?ref64gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
17630? ? ?? ? ?ref64gcc_-O3_-fomit-frame-pointer2017081820170725
17644? ? ?? ? ?ref64gcc_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
17667? ? ?? ? ?ref64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081820170725
17700? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
17711? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017081820170725
17733? ? ?? ? ?ref64gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017081820170725
17780? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
17836? ? ?? ? ?ref64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017081820170725
17872? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017081820170725
17878? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017081820170725
17881? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017081820170725
17887? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017081820170725
17952? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081820170725
17958? ? ?? ? ?ref64gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017081820170725
17961? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017081820170725
17964? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081820170725
17965? ? ?? ? ?ref64gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
17976? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017081820170725
17976? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
17994? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017081820170725
18011? ? ?? ? ?ref64gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017081820170725
18020? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017081820170725
18032? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081820170725
18038? ? ?? ? ?ref64gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
18053? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
18060? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
18066? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017081820170725
18073? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017081820170725
18078? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017081820170725
18081? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
18093? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017081820170725
18095? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017081820170725
18095? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017081820170725
18101? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017081820170725
18103? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017081820170725
18108? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017081820170725
18108? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017081820170725
18122? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017081820170725
18134? ? ?? ? ?ref64gcc_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
18136? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017081820170725
18158? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017081820170725
18207? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017081820170725
18235? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081820170725
18238? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017081820170725
18241? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
18244? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017081820170725
18254? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017081820170725
18264? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017081820170725
18292? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017081820170725
18298? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017081820170725
18351? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017081820170725
18435? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
18468? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
18481? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017081820170725
18487? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017081820170725
18492? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017081820170725
18516? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017081820170725
18555? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017081820170725
18560? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017081820170725
18570? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
18584? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
18593? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
18593? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
18617? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
18639? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
18640? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
18647? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017081820170725
18700? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017081820170725
18771? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017081820170725
18792? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017081820170725
18799? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017081820170725
18811? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017081820170725
18831? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017081820170725
18837? ? ?? ? ?sse2gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017081820170725
18841? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017081820170725
18848? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017081820170725
18857? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017081820170725
18891? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
18918? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017081820170725
18921? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
18924? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017081820170725
18949? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017081820170725
18975? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017081820170725
19003? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017081820170725
19051? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017081820170725
19304? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
19886? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
19963? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
20191? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017081820170725
20197? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017081820170725
20219? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017081820170725
20230? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017081820170725
20239? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017081820170725
20244? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017081820170725
20256? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017081820170725
20276? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017081820170725
20327? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017081820170725
20361? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017081820170725
20369? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081820170725
20393? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017081820170725
20406? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017081820170725
20458? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017081820170725
20666? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
20703? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017081820170725
20885? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
21102? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
21183? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017081820170725
21213? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017081820170725
21246? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
21254? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017081820170725
21309? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017081820170725
22216? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017081820170725
27249? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017081820170725
27251? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
27307? ? ?? ? ?ref64gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017081820170725
27413? ? ?? ? ?ref64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081820170725
27421? ? ?? ? ?ref64gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017081820170725
27481? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017081820170725
27504? ? ?? ? ?ref64gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017081820170725
27507? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
27550? ? ?? ? ?ref64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081820170725
27606? ? ?? ? ?ref64gcc_-funroll-loops_-Os_-fomit-frame-pointer2017081820170725
27606? ? ?? ? ?ref64gcc_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
27609? ? ?? ? ?ref64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017081820170725
27628? ? ?? ? ?ref64gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
27671? ? ?? ? ?ref64gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
27681? ? ?? ? ?ref64gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017081820170725
27685? ? ?? ? ?ref64gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017081820170725
27685? ? ?? ? ?ref64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017081820170725
27704? ? ?? ? ?ref64gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017081820170725
27709? ? ?? ? ?ref64gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017081820170725
27731? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017081820170725
27741? ? ?? ? ?ref64gcc_-funroll-loops_-O2_-fomit-frame-pointer2017081820170725
27756? ? ?? ? ?ref64gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017081820170725
27779? ? ?? ? ?ref64gcc_-march=k8_-Os_-fomit-frame-pointer2017081820170725
27788? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
27832? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017081820170725
27896? ? ?? ? ?ref64gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017081820170725
27910? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017081820170725
27931? ? ?? ? ?ref64gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
27937? ? ?? ? ?ref64gcc_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
27997? ? ?? ? ?ref64gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017081820170725
28021? ? ?? ? ?ref64gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
28024? ? ?? ? ?ref64gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017081820170725
28029? ? ?? ? ?ref64gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017081820170725
28037? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017081820170725
28044? ? ?? ? ?ref64gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017081820170725
28051? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017081820170725
28122? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
28129? ? ?? ? ?ref64gcc_-O2_-fomit-frame-pointer2017081820170725
28145? ? ?? ? ?ref64gcc_-Os_-fomit-frame-pointer2017081820170725
28169? ? ?? ? ?ref64gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017081820170725
28183? ? ?? ? ?ref64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017081820170725
28183? ? ?? ? ?ref64gcc_-m64_-Os_-fomit-frame-pointer2017081820170725
28221? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017081820170725
28221? ? ?? ? ?ref64gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
28227? ? ?? ? ?ref64gcc_-march=nocona_-Os_-fomit-frame-pointer2017081820170725
28248? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017081820170725
28293? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017081820170725
28299? ? ?? ? ?ref64gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
28319? ? ?? ? ?ref64gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017081820170725
28322? ? ?? ? ?ref64gcc_-funroll-loops_-O_-fomit-frame-pointer2017081820170725
28345? ? ?? ? ?ref64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017081820170725
28351? ? ?? ? ?ref64gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017081820170725
28376? ? ?? ? ?ref64gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
28400? ? ?? ? ?ref64clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
28417? ? ?? ? ?ref64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2017081820170725
28436? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017081820170725
28458? ? ?? ? ?ref64gcc_-m64_-O2_-fomit-frame-pointer2017081820170725
28517? ? ?? ? ?ref64gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017081820170725
28537? ? ?? ? ?ref64gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017081820170725
28542? ? ?? ? ?ref64gcc_-m64_-march=core2_-O_-fomit-frame-pointer2017081820170725
28602? ? ?? ? ?ref64gcc_-O_-fomit-frame-pointer2017081820170725
28627? ? ?? ? ?ref64gcc_-m64_-march=k8_-O_-fomit-frame-pointer2017081820170725
28659? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017081820170725
28689? ? ?? ? ?ref64gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017081820170725
28694? ? ?? ? ?ref64gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
28729? ? ?? ? ?ref64gcc_-march=nocona_-O_-fomit-frame-pointer2017081820170725
28754? ? ?? ? ?ref64gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017081820170725
28792? ? ?? ? ?ref64gcc_-march=nocona_-O2_-fomit-frame-pointer2017081820170725
28815? ? ?? ? ?ref64gcc_-m64_-O_-fomit-frame-pointer2017081820170725
28818? ? ?? ? ?ref64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017081820170725
28834? ? ?? ? ?ref64gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017081820170725
28902? ? ?? ? ?ref64gcc_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
28911? ? ?? ? ?ref64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017081820170725
28919? ? ?? ? ?ref64gcc_-march=k8_-O_-fomit-frame-pointer2017081820170725
28924? ? ?? ? ?ref64gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017081820170725
28959? ? ?? ? ?ref64gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017081820170725
28960? ? ?? ? ?ref64gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017081820170725
29024? ? ?? ? ?ref64clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
29043? ? ?? ? ?ref64gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017081820170725
29070? ? ?? ? ?ref64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017081820170725
29127? ? ?? ? ?ref64clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
30407? ? ?? ? ?ref64gcc_-march=k8_-O2_-fomit-frame-pointer2017081820170725
43724? ? ?? ? ?ref64clang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017081820170725
43848? ? ?? ? ?ref64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017081820170725
44877? ? ?? ? ?ref64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017081820170725
44879? ? ?? ? ?ref64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017081820170725
95773? ? ?? ? ?ref64cc2017081820170725
95957? ? ?? ? ?ref64gcc_-funroll-loops2017081820170725
95991? ? ?? ? ?ref64gcc2017081820170725

Test failure

Implementation: crypto_aead/morus1280256v2/avx2
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx2 ref ref64 sse2
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx2 ref ref64 sse2
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx2 ref ref64 sse2

Compiler output

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

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

Compiler output

Implementation: crypto_aead/morus1280256v2/neon
Compiler: cc
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s: Assembler messages:
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:47: Error: unknown pseudo-op: `.fpu'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:94: Error: too many memory references for `sub'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:99: Error: invalid char '[' beginning operand 2 `[sp'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:104: Error: invalid char '[' beginning operand 2 `[sp'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:109: Error: no such instruction: `vstr d9,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:114: Error: no such instruction: `vstr d8,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:119: Error: no such instruction: `vstr d11,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:124: Error: no such instruction: `vstr d10,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:129: Error: no such instruction: `vld1.8 {d0-d1},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:134: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:139: Error: no such instruction: `vld1.8 {d2-d3},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:144: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:149: Error: no such instruction: `vld1.8 {d4-d5},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:154: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:159: Error: no such instruction: `vld1.8 {d6-d7},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:164: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:169: Error: no such instruction: `vld1.8 {d16-d17},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:174: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:179: Error: no such instruction: `vld1.8 {d18-d19},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:184: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:189: Error: no such instruction: `vld1.8 {d20-d21},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:194: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:199: Error: no such instruction: `vld1.8 {d22-d23},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:204: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: ...

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

Compiler output

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

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

Compiler output

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

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

Compiler output

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

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

Compiler output

Implementation: crypto_aead/morus1280256v2/neon
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:47:1: error: unknown directive
morus_dec_aut_step_looped.s: .fpu neon
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:94:11: error: unknown token in expression
morus_dec_aut_step_looped.s: sub sp,sp,#64
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:99:11: error: expected ']' in brackets expression
morus_dec_aut_step_looped.s: str r4,[sp,#0]
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:104:11: error: expected ']' in brackets expression
morus_dec_aut_step_looped.s: str r5,[sp,#4]
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:109:12: error: expected ']' in brackets expression
morus_dec_aut_step_looped.s: vstr d9,[sp,#40]
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:114:12: error: expected ']' in brackets expression
morus_dec_aut_step_looped.s: vstr d8,[sp,#32]
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:119:13: error: expected ']' in brackets expression
morus_dec_aut_step_looped.s: vstr d11,[sp,#56]
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:124:13: error: expected ']' in brackets expression
morus_dec_aut_step_looped.s: vstr d10,[sp,#48]
morus_dec_aut_step_looped.s: ^
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:129:8: error: unknown token in expression
morus_dec_aut_step_looped.s: ...

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

Compiler output

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

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:67:13: error: always_inline function '_mm256_xor_si256' requires target feature '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: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -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 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

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

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

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

Compiler output

Implementation: crypto_aead/morus1280256v2/neon
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s: Assembler messages:
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:47: Error: unknown pseudo-op: `.fpu'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:94: Error: too many memory references for `sub'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:99: Error: invalid char '[' beginning operand 2 `[sp'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:104: Error: invalid char '[' beginning operand 2 `[sp'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:109: Error: no such instruction: `vstr d9,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:114: Error: no such instruction: `vstr d8,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:119: Error: no such instruction: `vstr d11,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:124: Error: no such instruction: `vstr d10,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:129: Error: no such instruction: `vld1.8 {d0-d1},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:134: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:139: Error: no such instruction: `vld1.8 {d2-d3},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:144: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:149: Error: no such instruction: `vld1.8 {d4-d5},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:154: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:159: Error: no such instruction: `vld1.8 {d6-d7},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:164: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:169: Error: no such instruction: `vld1.8 {d16-d17},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:174: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:179: Error: no such instruction: `vld1.8 {d18-d19},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:184: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:189: Error: no such instruction: `vld1.8 {d20-d21},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:194: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:199: Error: no such instruction: `vld1.8 {d22-d23},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:204: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: ...
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s: Assembler messages:
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:47: Error: unknown pseudo-op: `.fpu'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:94: Error: too many memory references for `sub'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:99: Error: invalid char '[' beginning operand 2 `[sp'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:104: Error: invalid char '[' beginning operand 2 `[sp'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:109: Error: no such instruction: `vstr d9,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:114: Error: no such instruction: `vstr d8,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:119: Error: no such instruction: `vstr d11,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:124: Error: no such instruction: `vstr d10,[sp,'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:129: Error: no such instruction: `vld1.8 {d0-d1},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:134: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:139: Error: no such instruction: `vld1.8 {d2-d3},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:144: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:149: Error: no such instruction: `vld1.8 {d4-d5},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:154: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:159: Error: no such instruction: `vld1.8 {d6-d7},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:164: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:169: Error: no such instruction: `vld1.8 {d16-d17},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:174: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:179: Error: no such instruction: `vld1.8 {d18-d19},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:184: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:189: Error: no such instruction: `vld1.8 {d20-d21},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:194: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:199: Error: no such instruction: `vld1.8 {d22-d23},[r2,:128]'
morus_dec_aut_step_looped.s: morus_dec_aut_step_looped.s:204: Error: too many memory references for `add'
morus_dec_aut_step_looped.s: ...

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

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-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: encrypt.c: In function 'morus_enc_aut_step':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
encrypt.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c: ^
encrypt.c: encrypt.c:38:27: error: called from here
encrypt.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
encrypt.c: ^
encrypt.c: encrypt.c:217:13: note: in expansion of macro 'ROTL256_64'
encrypt.c: state[2] = ROTL256_64(state[2]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
encrypt.c: _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c: ^
encrypt.c: encrypt.c:25:27: error: called from here
encrypt.c: #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: 16, 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
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2