Implementation notes: amd64, h9trinity, crypto_hash/blake2b

Computer: h9trinity
Architecture: amd64
CPU ID: AuthenticAMD-00610f01-178bfbff
SUPERCOP version: 20200618
Operation: crypto_hash
Primitive: blake2b
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
79552177 0 014113 776 736moon/xop/64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
79672208 0 014702 776 808moon/xop/64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
79822228 0 012333 768 808moon/xop/64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
80282137 0 013633 776 752moon/xop/64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
80282137 0 013633 776 752moon/xop/64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
80292137 0 015201 776 752moon/xop/64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
80292137 0 011071 768 736moon/xop/64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
80862164 0 011409 752 776moon/xop/64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
83822221 0 012301 768 808moon/xop/64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
898410534 0 023521 776 752xmmclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
898810529 0 021953 776 752xmmclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
898810398 0 019279 768 736xmmclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
898910529 0 021953 776 752xmmclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
903412126 0 022292 776 808regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
911010491 0 020597 768 808xmmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
911411473 0 020744 760 776regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
911711616 0 023057 776 752avxiccclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
911711616 0 024625 776 752avxiccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
911711616 0 020527 768 736avxiccclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
911711616 0 023537 776 736avxiccclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
911811616 0 021757 784 808avxiccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
911811616 0 024126 792 808avxiccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
911811616 0 020865 768 776avxiccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
911910310 0 019513 752 776xmmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
912011616 0 023057 776 752avxiccclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
912210369 0 020413 768 808xmmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
912410755 0 023222 776 808xmmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
912611616 0 021701 784 808avxiccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
914111796 0 024341 784 808regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
92933937 0 015873 776 736moon/avx/64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
93023981 0 014061 768 808moon/avx/64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
93083988 0 014093 768 808moon/avx/64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
93353897 0 015393 776 752moon/avx/64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
93373897 0 015393 776 752moon/avx/64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
93653897 0 016961 776 752moon/avx/64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
93753968 0 016462 776 808moon/avx/64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
93943924 0 013169 752 776moon/avx/64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
94183897 0 012831 768 736moon/avx/64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
944912128 0 022236 776 808regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
970813236 0 025145 776 736regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
994812749 0 025737 776 752regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
995612749 0 024169 776 752regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
999612749 0 024169 776 752regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
1002012634 0 021527 768 736regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
107837994 0 018293 784 808refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
109199602 0 022213 784 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1143217159 0 029065 776 736xmmclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
1250310781 0 022745 776 736refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
128208126 0 018357 784 808refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
134407364 0 016696 760 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
145509147 0 018087 768 736refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
1487911717 0 024769 776 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
1518112581 0 023729 776 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409
1520812581 0 023729 776 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020041020200409

Test failure

Implementation: moon/avx2/64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64

Compiler output

Implementation: avx2-1
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:96:12: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'avx2'
blake2b.c: ymm3 = _mm256_xor_si256
blake2b.c: ^
blake2b.c: blake2b.c:109:5: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'avx2'
blake2b.c: ROUNDS(in);
blake2b.c: ^
blake2b.c: ./blake2b-round.h:105:5: note: expanded from macro 'ROUNDS'
blake2b.c: ROUND( 0 ); \
blake2b.c: ^
blake2b.c: ./blake2b-round.h:74:3: note: expanded from macro 'ROUND'
blake2b.c: G1(ymm0,ymm1,ymm2,ymm3,b0); \
blake2b.c: ^
blake2b.c: ./blake2b-round.h:40:10: note: expanded from macro 'G1'
blake2b.c: row1 = _mm256_add_epi64(_mm256_add_epi64(row1, b0), row2); \
blake2b.c: ^
blake2b.c: blake2b.c:109:5: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'avx2'
blake2b.c: ./blake2b-round.h:105:5: note: expanded from macro 'ROUNDS'
blake2b.c: ROUND( 0 ); \
blake2b.c: ^
blake2b.c: ./blake2b-round.h:74:3: note: expanded from macro 'ROUND'
blake2b.c: G1(ymm0,ymm1,ymm2,ymm3,b0); \
blake2b.c: ^
blake2b.c: ./blake2b-round.h:40:27: note: expanded from macro 'G1'
blake2b.c: row1 = _mm256_add_epi64(_mm256_add_epi64(row1, b0), row2); \
blake2b.c: ^
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-1

Compiler output

Implementation: avx2-1
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:37:23: error: always_inline function '_mm256_setr_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:39:23: error: always_inline function '_mm256_setr_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: const __m256i r24 = _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10,
blake2b.c: ^
blake2b.c: blake2b.c:56:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: ymm0 = _mm256_set_epi64x(0xA54FF53A5F1D36F1ULL, 0x3C6EF372FE94F82BULL, 0xBB67AE8584CAA73BULL, 0x6A09E667F3BCC908ULL ^ 0x0000000001010040ULL);
blake2b.c: ^
blake2b.c: blake2b.c:57:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: ymm1 = _mm256_set_epi64x(0x5BE0CD19137E2179ULL, 0x1F83D9ABFB41BD6BULL, 0x9B05688C2B3E6C1FULL, 0x510E527FADE682D1ULL);
blake2b.c: ^
blake2b.c: blake2b.c:95:12: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: ymm2 = _mm256_set_epi64x(0xA54FF53A5F1D36F1ULL, 0x3C6EF372FE94F82BULL, 0xBB67AE8584CAA73BULL, 0x6a09e667f3bcc908ULL);
blake2b.c: ^
blake2b.c: blake2b.c:96:12: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'avx2'
blake2b.c: ymm3 = _mm256_xor_si256
blake2b.c: ^
blake2b.c: blake2b.c:98:14: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: _mm256_set_epi64x(0x5BE0CD19137E2179ULL, 0x1F83D9ABFB41BD6BULL, 0x9B05688C2B3E6C1FULL, 0x510E527FADE682D1ULL),
blake2b.c: ^
blake2b.c: blake2b.c:100:33: error: always_inline function '_mm256_castsi128_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: _mm256_blend_epi32(_mm256_castsi128_si256(_mm_cvtsi64_si128(ctr)),
blake2b.c: ^
blake2b.c: blake2b.c:101:33: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_1' that is compiled without support for 'sse4.2'
blake2b.c: ...

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

Compiler output

Implementation: avx2-1
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:11:
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_avx2_1':
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:114:10: note: called from here
blake2b.c: ymm1 = _mm256_xor_si256(ymm1, iv1);
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:11:
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:113:10: note: called from here
blake2b.c: ymm0 = _mm256_xor_si256(ymm0, iv0);
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:11:
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:112:10: note: called from here
blake2b.c: ymm1 = _mm256_xor_si256(ymm1, ymm3);
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-1

Compiler output

Implementation: avx2-2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:64:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m0 = _mm256_broadcastsi128_si256(LOADU128( in + 00 ));
blake2b.c: ^
blake2b.c: blake2b.c:65:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m1 = _mm256_broadcastsi128_si256(LOADU128( in + 16 ));
blake2b.c: ^
blake2b.c: blake2b.c:66:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m2 = _mm256_broadcastsi128_si256(LOADU128( in + 32 ));
blake2b.c: ^
blake2b.c: blake2b.c:67:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m3 = _mm256_broadcastsi128_si256(LOADU128( in + 48 ));
blake2b.c: ^
blake2b.c: blake2b.c:68:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m4 = _mm256_broadcastsi128_si256(LOADU128( in + 64 ));
blake2b.c: ^
blake2b.c: blake2b.c:69:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m5 = _mm256_broadcastsi128_si256(LOADU128( in + 80 ));
blake2b.c: ^
blake2b.c: blake2b.c:70:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m6 = _mm256_broadcastsi128_si256(LOADU128( in + 96 ));
blake2b.c: ^
blake2b.c: blake2b.c:71:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m7 = _mm256_broadcastsi128_si256(LOADU128( in + 112 ));
blake2b.c: ^
blake2b.c: blake2b.c:97:12: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: ...

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

Compiler output

Implementation: avx2-2
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:38:23: error: always_inline function '_mm256_setr_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'sse4.2'
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:40:23: error: always_inline function '_mm256_setr_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'sse4.2'
blake2b.c: const __m256i r24 = _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10,
blake2b.c: ^
blake2b.c: blake2b.c:57:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'sse4.2'
blake2b.c: ymm0 = _mm256_set_epi64x(0xA54FF53A5F1D36F1ULL, 0x3C6EF372FE94F82BULL, 0xBB67AE8584CAA73BULL, 0x6A09E667F3BCC908ULL ^ 0x0000000001010040ULL);
blake2b.c: ^
blake2b.c: blake2b.c:58:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'sse4.2'
blake2b.c: ymm1 = _mm256_set_epi64x(0x5BE0CD19137E2179ULL, 0x1F83D9ABFB41BD6BULL, 0x9B05688C2B3E6C1FULL, 0x510E527FADE682D1ULL);
blake2b.c: ^
blake2b.c: blake2b.c:64:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m0 = _mm256_broadcastsi128_si256(LOADU128( in + 00 ));
blake2b.c: ^
blake2b.c: blake2b.c:65:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m1 = _mm256_broadcastsi128_si256(LOADU128( in + 16 ));
blake2b.c: ^
blake2b.c: blake2b.c:66:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m2 = _mm256_broadcastsi128_si256(LOADU128( in + 32 ));
blake2b.c: ^
blake2b.c: blake2b.c:67:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: const __m256i m3 = _mm256_broadcastsi128_si256(LOADU128( in + 48 ));
blake2b.c: ^
blake2b.c: blake2b.c:68:24: error: always_inline function '_mm256_broadcastsi128_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_2' that is compiled without support for 'avx2'
blake2b.c: ...

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

Compiler output

Implementation: avx2-2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:12:
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_avx2_2':
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:115:10: note: called from here
blake2b.c: ymm1 = _mm256_xor_si256(ymm1, iv1);
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:12:
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:114:10: note: called from here
blake2b.c: ymm0 = _mm256_xor_si256(ymm0, iv0);
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:12:
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:113:10: note: called from here
blake2b.c: ymm1 = _mm256_xor_si256(ymm1, ymm3);
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-2

Compiler output

Implementation: avx2-3
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:97:12: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'avx2'
blake2b.c: ymm3 = _mm256_xor_si256
blake2b.c: ^
blake2b.c: blake2b.c:110:5: error: '__builtin_ia32_gatherd_q256' needs target feature avx2
blake2b.c: ROUNDS(in);
blake2b.c: ^
blake2b.c: ./blake2b-round.h:100:23: note: expanded from macro 'ROUNDS'
blake2b.c: #define ROUNDS(msg) GATHER_ROUND(msg)
blake2b.c: ^
blake2b.c: ./blake2b-round.h:87:10: note: expanded from macro 'GATHER_ROUND'
blake2b.c: b0 = _mm256_i32gather_epi64((void *)msg, LOAD128(&indices[16*i + 0]), 8); \
blake2b.c: ^
blake2b.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/avx2intrin.h:1289:12: note: expanded from macro '_mm256_i32gather_epi64'
blake2b.c: (__m256i)__builtin_ia32_gatherd_q256((__v4di)_mm256_undefined_si256(), \
blake2b.c: ^
blake2b.c: blake2b.c:110:5: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'avx2'
blake2b.c: ./blake2b-round.h:100:23: note: expanded from macro 'ROUNDS'
blake2b.c: #define ROUNDS(msg) GATHER_ROUND(msg)
blake2b.c: ^
blake2b.c: ./blake2b-round.h:88:5: note: expanded from macro 'GATHER_ROUND'
blake2b.c: G1(ymm0,ymm1,ymm2,ymm3,b0); \
blake2b.c: ^
blake2b.c: ./blake2b-round.h:40:10: note: expanded from macro 'G1'
blake2b.c: row1 = _mm256_add_epi64(_mm256_add_epi64(row1, b0), row2); \
blake2b.c: ^
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-3
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-3
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-3

Compiler output

Implementation: avx2-3
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:38:23: error: always_inline function '_mm256_setr_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:40:23: error: always_inline function '_mm256_setr_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: const __m256i r24 = _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10,
blake2b.c: ^
blake2b.c: blake2b.c:57:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: ymm0 = _mm256_set_epi64x(0xA54FF53A5F1D36F1ULL, 0x3C6EF372FE94F82BULL, 0xBB67AE8584CAA73BULL, 0x6A09E667F3BCC908ULL ^ 0x0000000001010040ULL);
blake2b.c: ^
blake2b.c: blake2b.c:58:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: ymm1 = _mm256_set_epi64x(0x5BE0CD19137E2179ULL, 0x1F83D9ABFB41BD6BULL, 0x9B05688C2B3E6C1FULL, 0x510E527FADE682D1ULL);
blake2b.c: ^
blake2b.c: blake2b.c:96:12: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: ymm2 = _mm256_set_epi64x(0xA54FF53A5F1D36F1ULL, 0x3C6EF372FE94F82BULL, 0xBB67AE8584CAA73BULL, 0x6a09e667f3bcc908ULL);
blake2b.c: ^
blake2b.c: blake2b.c:97:12: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'avx2'
blake2b.c: ymm3 = _mm256_xor_si256
blake2b.c: ^
blake2b.c: blake2b.c:99:14: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: _mm256_set_epi64x(0x5BE0CD19137E2179ULL, 0x1F83D9ABFB41BD6BULL, 0x9B05688C2B3E6C1FULL, 0x510E527FADE682D1ULL),
blake2b.c: ^
blake2b.c: blake2b.c:101:33: error: always_inline function '_mm256_castsi128_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: _mm256_blend_epi32(_mm256_castsi128_si256(_mm_cvtsi64_si128(ctr)),
blake2b.c: ^
blake2b.c: blake2b.c:102:33: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hash_blake2b_avx2_3' that is compiled without support for 'sse4.2'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2-3

Compiler output

Implementation: avx2-3
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
blake2b.c: from blake2b.c:12:
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_avx2_3':
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
blake2b.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
blake2b.c: ^~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:97:10: note: called from here
blake2b.c: ymm3 = _mm256_xor_si256
blake2b.c: ~~~~~^~~~~~~~~~~~~~~~~~
blake2b.c: (
blake2b.c: ~
blake2b.c: _mm256_set_epi64x(0x5BE0CD19137E2179ULL, 0x1F83D9ABFB41BD6BULL, 0x9B05688C2B3E6C1FULL, 0x510E527FADE682D1ULL),
blake2b.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: #if defined(__x86_64__)
blake2b.c: ~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: _mm256_blend_epi32(_mm256_castsi128_si256(_mm_cvtsi64_si128(ctr)),
blake2b.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: _mm256_setzero_si256(),
blake2b.c: ~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: 0xF0
blake2b.c: ~~~~
blake2b.c: )
blake2b.c: ~
blake2b.c: #else
blake2b.c: ~~~~~
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2-3

Compiler output

Implementation: moon/avx2/64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_hash_blake2b.a(blake2b.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64

Compiler output

Implementation: ymm
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:203:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:204:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:205:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:206:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:225:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:226:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:227:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:228:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(buffer + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:241:5: error: invalid conversion between vector type '__m256i' (vector of 4 'long long' values) and '__m128i' (vector of 2 'long long' values) of different size
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:15:2: error: "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c: blake2b.c:203:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:204:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:205:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:206:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:225:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:226:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:227:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:228:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:203:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:204:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:205:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^
blake2b.c: blake2b.c:206:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^
blake2b.c: blake2b.c:225:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^
blake2b.c: blake2b.c:226:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^
blake2b.c: blake2b.c:227:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^
blake2b.c: blake2b.c:228:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(buffer + 96));
blake2b.c: ^
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ymm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ymm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ymm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ymm

Namespace violations

Implementation: moon/avx/64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.o _blake2b_blocks_avx T
blake2b.o blake2b_blocks_avx T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64

Namespace violations

Implementation: moon/xop/64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.o _blake2b_blocks_xop T
blake2b.o blake2b_blocks_xop T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b-ref.o blake2b T
blake2b-ref.o blake2b_final T
blake2b-ref.o blake2b_init T
blake2b-ref.o blake2b_init_key T
blake2b-ref.o blake2b_init_param T
blake2b-ref.o blake2b_update T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref