Implementation notes: amd64, cherry, crypto_hash/blake512

Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: blake512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2314612510 0 022099 756 920regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2318912510 0 022099 756 920bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2336313346 0 025704 780 952bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2336414052 0 027256 812 888bswapclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2336413322 0 025656 780 952regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2337414004 0 025560 812 888bswapclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2338314100 0 027304 812 888regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2338712940 0 024096 780 952regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2340214084 0 025640 812 888regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2341112940 0 024096 780 952bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2347212888 0 022942 804 888bswapclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2347513012 0 023070 804 888regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2356624512 0 037840 812 888sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2356724496 0 036176 812 888sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2367024498 0 036936 780 952sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2367924080 0 035360 780 952sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2369324830 0 035006 804 888sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2460213036 0 023598 804 888bswapclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2472113548 0 024110 804 888regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2493814482 0 027280 812 888bswapclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2495514610 0 027408 812 888regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2505522785 0 032491 756 920sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2532924832 0 037752 812 888sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2541412888 0 023471 772 952bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2680623583 0 034360 780 952sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2739925333 0 036086 804 888sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2771914627 0 025215 772 952regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
306566927 0 016635 756 920sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
308454224 0 017416 812 888refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
310614208 0 015752 812 888refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
327908560 0 020256 812 888sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
328618399 0 018590 804 888sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
330018592 0 021936 812 888sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
335013151 0 013198 804 888refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
336457838 0 018616 780 952sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3506313541 0 026336 812 888sse2sclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
362473068 0 012659 756 920refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
364944404 0 017200 812 888refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
366038688 0 021624 812 888sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
369114110 0 014703 772 952refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3711814390 0 027184 812 888sse2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
380238933 0 019702 804 888sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
3976212869 0 023422 804 888ssse3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
398593763 0 014318 804 888refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4029512930 0 023486 804 888sse2sclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4064612893 0 023438 804 888sse41clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4102213492 0 026696 812 888ssse3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4102413476 0 025032 812 888ssse3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4112512404 0 022462 804 888ssse3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4120313602 0 026808 812 888sse2sclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4120613586 0 025144 812 888sse2sclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4130712514 0 022574 804 888sse2sclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4160813855 0 027032 812 888sse41clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4160913823 0 025352 812 888sse41clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4179112752 0 022782 804 888sse41clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4462412999 0 022595 756 920sse2sgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4501214882 0 027232 780 952sse2sgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4503914500 0 025672 780 952sse2sgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4508910882 0 023320 780 952sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4522715195 0 025799 772 952sse2sgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4535410496 0 021776 780 952sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4536912792 0 023342 804 888sse2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4546814293 0 023891 756 920sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4653217487 0 028087 772 952sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4678713440 0 026632 812 888sse2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4679713424 0 024968 812 888sse2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4689412352 0 022398 804 888sse2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4703717138 0 029488 780 952sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4705116756 0 027928 780 952sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4788013756 0 024359 772 952sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4790112040 0 021643 756 920sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4841312705 0 022307 756 920ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
490006025 0 018344 780 952refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4967014658 0 025255 772 952ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5003714546 0 026896 780 952ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5008214164 0 025336 780 952ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
507464363 0 015520 780 952refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5134613668 0 026016 780 952sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5134913668 0 024832 780 952sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8809913800 0 024383 772 952sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8943513729 0 023315 756 920sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8957714727 0 026280 812 888sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
8958614775 0 027976 812 888sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
8970713611 0 023662 804 888sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
9010114754 0 027112 780 952sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
9010214348 0 025504 780 952sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
9180313759 0 024318 804 888sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
9202815038 0 027824 812 888sandyclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: sse41
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:8:
hash.c: ./rounds.h:8:10: warning: '_mm_roti_epi64' macro redefined [-Wmacro-redefined]
hash.c: #define _mm_roti_epi64(x, c) \
hash.c: ^
hash.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:236:9: note: previous definition is here
hash.c: #define _mm_roti_epi64(A, N) \
hash.c: ^
hash.c: 1 warning generated.

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

Compiler output

Implementation: sse41
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:8:
hash.c: ./rounds.h:8:10: warning: '_mm_roti_epi64' macro redefined [-Wmacro-redefined]
hash.c: #define _mm_roti_epi64(x, c) \
hash.c: ^
hash.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:236:9: note: previous definition is here
hash.c: #define _mm_roti_epi64(A, N) \
hash.c: ^
hash.c: hash.c:81:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m0 = BSWAP64(m0);
hash.c: ^
hash.c: ./rounds.h:6:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_shuffle_epi8((x), u8to64)
hash.c: ^
hash.c: hash.c:82:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m1 = BSWAP64(m1);
hash.c: ^
hash.c: ./rounds.h:6:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_shuffle_epi8((x), u8to64)
hash.c: ^
hash.c: hash.c:83:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m2 = BSWAP64(m2);
hash.c: ^
hash.c: ./rounds.h:6:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_shuffle_epi8((x), u8to64)
hash.c: ^
hash.c: ...

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

Compiler output

Implementation: ssse3
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:141:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[0] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 00)), u8to64);
hash.c: ^
hash.c: hash.c:142:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[1] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 16)), u8to64);
hash.c: ^
hash.c: hash.c:143:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[2] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 32)), u8to64);
hash.c: ^
hash.c: hash.c:144:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[3] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 48)), u8to64);
hash.c: ^
hash.c: hash.c:145:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[4] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 64)), u8to64);
hash.c: ^
hash.c: hash.c:146:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[5] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 80)), u8to64);
hash.c: ^
hash.c: hash.c:147:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[6] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 96)), u8to64);
hash.c: ^
hash.c: hash.c:148:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: m.u128[7] = _mm_shuffle_epi8(_mm_loadu_si128((__m128i*)(datablock + 112)), u8to64);
hash.c: ^
hash.c: hash.c:291:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake512_compress' that is compiled without support for 'ssse3'
hash.c: ...

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

Compiler output

Implementation: xop
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:81:8: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m0 = BSWAP64(m0);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:82:8: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m1 = BSWAP64(m1);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:83:8: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m2 = BSWAP64(m2);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:84:8: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m3 = BSWAP64(m3);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:85:8: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: ...

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

Compiler output

Implementation: xop
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:272:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi64': target specific option mismatch
hash.c: 272 | _mm_roti_epi64(__m128i __A, const int __B)
hash.c: | ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:
hash.c: rounds.h:825:11: note: called from here
hash.c: 825 | row2h = _mm_roti_epi64(row2h, -11); \
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: rounds.h:867:3: note: in expansion of macro 'G2'
hash.c: 867 | G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \
hash.c: | ^~
hash.c: hash.c:132:3: note: in expansion of macro 'ROUND'
hash.c: 132 | ROUND(15);
hash.c: | ^~~~~
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
hash.c: from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:272:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi64': target specific option mismatch
hash.c: 272 | _mm_roti_epi64(__m128i __A, const int __B)
hash.c: | ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:
hash.c: rounds.h:824:11: note: called from here
hash.c: 824 | row2l = _mm_roti_epi64(row2l, -11); \
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ...

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

Compiler output

Implementation: xop-2
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:92:15: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m.u128[0] = BSWAP64(m.u128[0]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:93:15: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m.u128[1] = BSWAP64(m.u128[1]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:94:15: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m.u128[2] = BSWAP64(m.u128[2]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:95:15: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: m.u128[3] = BSWAP64(m.u128[3]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:96:15: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake512_compress' that is compiled without support for 'xop'
hash.c: ...

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

Compiler output

Implementation: xop-2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:218:1: error: inlining failed in call to 'always_inline' '_mm_perm_epi8': target specific option mismatch
hash.c: 218 | _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: | ^~~~~~~~~~~~~
hash.c: In file included from hash.c:8:
hash.c: rounds.h:15:21: note: called from here
hash.c: 15 | #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:99:15: note: in expansion of macro 'BSWAP64'
hash.c: 99 | m.u128[7] = BSWAP64(m.u128[7]);
hash.c: | ^~~~~~~
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
hash.c: from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:218:1: error: inlining failed in call to 'always_inline' '_mm_perm_epi8': target specific option mismatch
hash.c: 218 | _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: | ^~~~~~~~~~~~~
hash.c: In file included from hash.c:8:
hash.c: rounds.h:15:21: note: called from here
hash.c: 15 | #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:98:15: note: in expansion of macro 'BSWAP64'
hash.c: 98 | m.u128[6] = BSWAP64(m.u128[6]);
hash.c: | ^~~~~~~
hash.c: ...

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