Implementation notes: amd64, cryptothinkx, crypto_aead/minalpherv11

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: minalpherv11
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
25269? ? ?? ? ?avx2clang++_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017021120170105
26016? ? ?? ? ?avx2clang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017021120170105
26049? ? ?? ? ?avx2clang++_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021120170105
26049? ? ?? ? ?avx2clang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
26445? ? ?? ? ?avx2g++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017021120170105
26928? ? ?? ? ?avx2g++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017021120170105
26988? ? ?? ? ?avx2g++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017021120170105
27810? ? ?? ? ?avx2g++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017021120170105
27858? ? ?? ? ?avx2g++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017021120170105
27963? ? ?? ? ?avx2g++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017021120170105
27996? ? ?? ? ?avx2g++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017021120170105
28056? ? ?? ? ?avx2g++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017021120170105
28101? ? ?? ? ?avx2g++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017021120170105
32925? ? ?? ? ?avx2g++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017021120170105
32937? ? ?? ? ?avx2g++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017021120170105
32973? ? ?? ? ?avx2g++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017021120170105
2498511? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017021120170105
2506107? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
2506512? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017021120170105
2540154? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2546610? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2558001? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017021120170105
2558892? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017021120170105
2581677? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017021120170105
2629020? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017021120170105
2649339? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2664213? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2676237? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
2677917? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2681772? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017021120170105
2691141? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017021120170105
2700816? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017021120170105
2725917? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2738505? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2743281? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2747325? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017021120170105
2757111? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
2787375? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017021120170105
2792790? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
2795382? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017021120170105
2797374? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017021120170105
2813514? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2821806? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2825193? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017021120170105
2835891? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2836305? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017021120170105
2841501? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017021120170105
2842419? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2849562? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
2851422? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017021120170105
2869902? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017021120170105
2879568? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2895780? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017021120170105
2904132? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017021120170105
2906295? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017021120170105
2907927? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017021120170105
2931762? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017021120170105
2934096? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017021120170105
2940843? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017021120170105
2947956? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
3003501? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017021120170105
3202914? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3300492? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3310614? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3311628? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3409398? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3418173? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3420063? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3507549? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
3511785? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3516771? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3532317? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3585369? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
3589668? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017021120170105
3647070? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
3649410? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017021120170105
3650721? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017021120170105
3656850? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017021120170105
3658155? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017021120170105
3658428? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017021120170105
3705486? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
3709047? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
3770190? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017021120170105
3775845? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017021120170105
3785805? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017021120170105
3790644? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017021120170105
3796035? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017021120170105
3804738? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017021120170105
3869817? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017021120170105
3871311? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017021120170105
4125144? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017021120170105
4128135? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
4128171? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
4129521? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017021120170105
4130346? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017021120170105
4153446? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017021120170105
4182582? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017021120170105
4183248? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017021120170105
4265145? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017021120170105
4267731? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017021120170105
4268460? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017021120170105
4272600? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017021120170105
4288272? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017021120170105
4296336? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017021120170105
4297326? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
4297506? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017021120170105
4320312? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017021120170105
4347510? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017021120170105
4360458? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
4390701? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017021120170105
4406046? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
4415649? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017021120170105
4426263? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
4463949? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017021120170105
4557657? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017021120170105
4570926? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017021120170105
4572573? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
5395782? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
5406342? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017021120170105
5409747? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017021120170105
5468121? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017021120170105
5485494? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017021120170105
5514153? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
5537115? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
5542509? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017021120170105
5556699? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
5582994? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017021120170105
5590728? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017021120170105
5625942? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017021120170105
5626806? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017021120170105
5643342? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017021120170105
5704524? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017021120170105
5729991? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017021120170105
5738004? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
5739750? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017021120170105
5757021? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017021120170105
6271290? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017021120170105
7129159? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017021120170105
17765814? ? ?? ? ?refgcc_-funroll-loops2017021120170105
18067926? ? ?? ? ?refcc2017021120170105
18520671? ? ?? ? ?refgcc2017021120170105

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
MinalpherCore.cpp: MinalpherCore.cpp:85:27: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'sse4.2'
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:88:17: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'sse4.2'
MinalpherCore.cpp: __m256i tmp = _mm256_permute4x64_epi64(DATA, 0xD8);
MinalpherCore.cpp: ^
MinalpherCore.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/avx2intrin.h:877:44: note: expanded from macro '_mm256_permute4x64_epi64'
MinalpherCore.cpp: (__v4di)_mm256_setzero_si256(), ^
MinalpherCore.cpp: MinalpherCore.cpp:92:10: error: always_inline function '_mm256_and_si256' requires target feature 'sse4.2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'sse4.2'
MinalpherCore.cpp: ...
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:128:3: error: '__builtin_ia32_pslldqi256' needs target feature avx2
MinalpherCore.cpp: MinalpherCore.cpp:122:12: note: expanded from macro 'singleRoundFunctionH'
MinalpherCore.cpp: tmp0 = _mm256_slli_si256( ymm0, 8 ); ^
MinalpherCore.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/avx2intrin.h:545:12: note: expanded from macro '_mm256_slli_si256'
MinalpherCore.cpp: (__m256i)__builtin_ia32_pslldqi256((__m256i)(a), (count)*8); })
MinalpherCore.cpp: ^
MinalpherCore.cpp: fatal error: too many errors emitted, stopping now [-ferror-limit=]
MinalpherCore.cpp: 20 errors generated.

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/minalpherv11/avx2
Compiler: clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
MinalpherCore.cpp: MinalpherCore.cpp:92:10: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'avx2'
MinalpherCore.cpp: tmp0 = _mm256_and_si256(ymmMask, tmp);
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:93:10: error: always_inline function '_mm256_andnot_si256' requires target feature 'avx2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'avx2'
MinalpherCore.cpp: tmp1 = _mm256_andnot_si256(ymmMask, tmp);
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:96:10: error: always_inline function '_mm256_srli_epi16' requires target feature 'avx2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'avx2'
MinalpherCore.cpp: tmp1 = _mm256_srli_epi16(tmp1, 4);
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:99:18: error: always_inline function '_mm256_unpacklo_epi8' requires target feature 'avx2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'avx2'
MinalpherCore.cpp: ...
MinalpherCore.cpp: ymm1 = _mm256_xor_si256( tmp1, ymm1 ); ^
MinalpherCore.cpp: MinalpherCore.cpp:129:3: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'minalpher_core_single_block' that is compiled without support for 'avx2'
MinalpherCore.cpp: singleRoundFunctionH( 1, ymm0, ymm1);
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:112:12: note: expanded from macro 'singleRoundFunctionH'
MinalpherCore.cpp: ymm0 = _mm256_shuffle_epi8( ymmSbox, ymm0 ); ^
MinalpherCore.cpp: fatal error: too many errors emitted, stopping now [-ferror-limit=]
MinalpherCore.cpp: 20 errors generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: g++
MinalpherCore.cpp: MinalpherCore.cpp: In function ‘void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)’:
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline ‘__m256i _mm256_shuffle_epi8(__m256i, __m256i)’: target specific option mismatch
MinalpherCore.cpp: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
MinalpherCore.cpp: ...
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1232:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi32(int, int, int, int, int, int, int, int)’: target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi32 (int __A, int __B, int __C, int __D,
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:85:138: error: called from here
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ avx2

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: g++ -O2 -fomit-frame-pointer
MinalpherCore.cpp: MinalpherCore.cpp: In function ‘void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)’:
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h: In function ‘void __static_initialization_and_destruction_0(int, int)’:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1252:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)’: target specific option mismatch
MinalpherCore.cpp: ...
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1232:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi32(int, int, int, int, int, int, int, int)’: target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi32 (int __A, int __B, int __C, int __D,
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:42:23: error: called from here
MinalpherCore.cpp: { _mm256_set_epi32(0x0000000, 0x03020100, 0x00000000, 0x0000000, 0x0000000, 0x02030001, 0x0000000, 0x0000000),
MinalpherCore.cpp: ^

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

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
MinalpherCore.cpp: MinalpherCore.cpp: In function ‘void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)’:
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h: In function ‘void __static_initialization_and_destruction_0(int, int)’:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1252:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)’: target specific option mismatch
MinalpherCore.cpp: ...
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1232:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi32(int, int, int, int, int, int, int, int)’: target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi32 (int __A, int __B, int __C, int __D,
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:42:23: error: called from here
MinalpherCore.cpp: { _mm256_set_epi32(0x0000000, 0x03020100, 0x00000000, 0x0000000, 0x0000000, 0x02030001, 0x0000000, 0x0000000),
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp: In function ‘void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)’:
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h: In function ‘void __static_initialization_and_destruction_0(int, int)’:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1252:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char)’: target specific option mismatch
MinalpherCore.cpp: ...
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1232:1: error: inlining failed in call to always_inline ‘__m256i _mm256_set_epi32(int, int, int, int, int, int, int, int)’: target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi32 (int __A, int __B, int __C, int __D,
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:42:23: error: called from here
MinalpherCore.cpp: { _mm256_set_epi32(0x0000000, 0x03020100, 0x00000000, 0x0000000, 0x0000000, 0x02030001, 0x0000000, 0x0000000),
MinalpherCore.cpp: ^

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

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h: In function ‘void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)’:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline ‘__m256i _mm256_shuffle_epi8(__m256i, __m256i)’: target specific option mismatch
MinalpherCore.cpp: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:150:30: error: called from here
MinalpherCore.cpp: ymm1_ = _mm256_shuffle_epi8(ymm1, ShuffleSingleBlock1);
MinalpherCore.cpp: ...
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline ‘__m256i _mm256_shuffle_epi8(__m256i, __m256i)’: target specific option mismatch
MinalpherCore.cpp: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:112:48: error: called from here
MinalpherCore.cpp: ymm0 = _mm256_shuffle_epi8( ymmSbox, ymm0 );
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:128:3: note: in expansion of macro ‘singleRoundFunctionH’
MinalpherCore.cpp: singleRoundFunctionH( 0, ymm0, ymm1);
MinalpherCore.cpp: ^

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