Implementation notes: amd64, cubi10, crypto_hash/blake256

Computer: cubi10
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: blake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
109616566 0 017560 780 952avxsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
109736598 0 019584 780 952avxsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
110216944 0 020512 812 920avxsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
110396172 0 016398 804 888avxsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
110586261 0 016887 772 952avxsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
110626232 0 019736 812 920avxsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
110796102 0 015771 756 920avxsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
111156402 0 019928 812 920sse41-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
111405690 0 019120 812 920sse41-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
112046319 0 016838 804 888avxsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
112615618 0 015798 804 888sse41-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
113145770 0 016222 804 888sse41-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
114626709 0 020264 812 920sse2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
114736037 0 019480 812 920sse2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
114855972 0 016166 804 888sse2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
126326202 0 019112 780 952sse41-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
126686170 0 017120 780 952sse41-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
126795926 0 016447 772 952sse41-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
127595646 0 015211 756 920sse41-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
127606583 0 017054 804 888sse2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
128636306 0 017272 780 952sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
129396859 0 019792 780 952sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
129435837 0 015411 756 920sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
130798116 0 020936 812 888sse2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
130796159 0 016695 772 952sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
136886930 0 017896 780 952ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
136906407 0 015987 756 920ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
138357484 0 020416 780 952ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
139446657 0 017191 772 952ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
140356521 0 016726 804 888bswapclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
140397226 0 020792 812 920bswapclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
140416530 0 019984 812 920bswapclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
145433022 0 016568 812 920refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
149247134 0 017318 804 888regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
149577142 0 020584 812 920regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
151142526 0 015944 812 920refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
151297814 0 021368 812 920regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
153147330 0 018296 780 952sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
153367705 0 021288 812 920sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
153407451 0 017798 804 888sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
153846780 0 016355 756 920sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
154347884 0 020800 780 952sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
155248274 0 019240 780 952sse2-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
156227753 0 021432 812 920sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
156527058 0 017591 772 952sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
156728828 0 021744 780 952sse2-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
156988455 0 021272 812 888sse2-2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
157317731 0 017307 756 920sse2-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1596926222 0 037312 780 952sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
160997936 0 018414 804 888sse2-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
161232393 0 012582 804 888refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1620210555 0 023368 812 888sandyclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1625110873 0 021399 772 952bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1634911394 0 022360 780 952bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
163528040 0 021592 812 920sse2-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1640211394 0 022360 780 952regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1640410605 0 024152 812 920sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1642010875 0 020451 756 920regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1642210875 0 020451 756 920bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
164567368 0 020808 812 920sse2-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1647311948 0 024864 780 952regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1654811931 0 024848 780 952bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1658828472 0 041496 780 952sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1663825340 0 036064 780 952sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1665410264 0 020734 804 888sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1669710296 0 023112 812 888regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1670710280 0 023096 812 888bswapclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
168087303 0 017494 804 888sse2-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1686724834 0 037768 812 888sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1691211067 0 021550 804 888regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
169219909 0 023344 812 920sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1693810722 0 020291 756 920sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1703310901 0 021431 772 952sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1713111298 0 022264 780 952sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1717526697 0 040360 812 920sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1718311616 0 022151 772 952regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1723511835 0 024752 780 952sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1727824787 0 034491 756 920sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1730726665 0 040232 812 920sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1777310859 0 021342 804 888bswapclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1795510186 0 020374 804 888sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
179908136 0 018663 772 952sse2-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1812826772 0 037078 804 888sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1984927463 0 038118 804 888sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
210367079 0 016779 756 920sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
210537963 0 018680 780 952sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
230472867 0 013391 772 952refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
236922534 0 012115 756 920refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
247358690 0 021640 812 888sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
256313582 0 016392 812 888refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
262182927 0 013406 804 888refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2642511256 0 024280 780 952sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2653910654 0 021744 780 952sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
265564572 0 017472 780 952refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
275488807 0 019478 804 888sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
281443698 0 014664 780 952refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: avxs
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:155:61: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_final' that is compiled without support for 'ssse3'
hash.c: __m128i w0 = _mm_load_si128((__m128i*)(&S->h[0])); w0 = _mm_shuffle_epi8(w0, u32to8);
hash.c: ^
hash.c: hash.c:156:61: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_final' that is compiled without support for 'ssse3'
hash.c: __m128i w1 = _mm_load_si128((__m128i*)(&S->h[4])); w1 = _mm_shuffle_epi8(w1, u32to8);
hash.c: ^
hash.c: 2 errors generated.

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

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:121:
hash.c: ./rounds.sse41.h:17:55: warning: implicit conversion from 'long' to 'int' changes value from 2242054355 to -2052912941 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:17:22: warning: implicit conversion from 'long' to 'int' changes value from 3964562569 to -330404727 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:20:33: warning: implicit conversion from 'long' to 'int' changes value from 2752067618 to -1542899678 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(137296536, 2752067618, 320440878, 608135816);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:47:34: warning: implicit conversion from 'long' to 'int' changes value from 3380367581 to -914599715 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:47:22: warning: implicit conversion from 'long' to 'int' changes value from 3041331479 to -1253635817 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:50:46: warning: implicit conversion from 'long' to 'int' changes value from 3193202383 to -1101764913 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:50:34: warning: implicit conversion from 'long' to 'int' changes value from 3232508343 to -1062458953 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:81:57: warning: implicit conversion from 'long' to 'int' changes value from 3193202383 to -1101764913 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(137296536, 3041331479, 1160258022, 3193202383);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ...

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse41

Compiler output

Implementation: sse41-2
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:2:
hash.c: ./blake256.h:105:15: warning: '_mm_roti_epi32' macro redefined [-Wmacro-redefined]
hash.c: #define _mm_roti_epi32(r, c) ((8==-c) ? _mm_shuffle_epi8(r,r8) : ( (16==-c) ? _mm_shuffle_epi8(r,r16) : _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-c) )) ) )
hash.c: ^
hash.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:233:9: note: previous definition is here
hash.c: #define _mm_roti_epi32(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-2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse41-2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse41-2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse41-2

Compiler output

Implementation: sse41-2
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:2:
hash.c: ./blake256.h:105:15: warning: '_mm_roti_epi32' macro redefined [-Wmacro-redefined]
hash.c: #define _mm_roti_epi32(r, c) ((8==-c) ? _mm_shuffle_epi8(r,r8) : ( (16==-c) ? _mm_shuffle_epi8(r,r16) : _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-c) )) ) )
hash.c: ^
hash.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:233:9: note: previous definition is here
hash.c: #define _mm_roti_epi32(A, N) \
hash.c: ^
hash.c: hash.c:93:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m0 = _mm_shuffle_epi8(LOADU(datablock + 00), u8to32);
hash.c: ^
hash.c: hash.c:94:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m1 = _mm_shuffle_epi8(LOADU(datablock + 16), u8to32);
hash.c: ^
hash.c: hash.c:95:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m2 = _mm_shuffle_epi8(LOADU(datablock + 32), u8to32);
hash.c: ^
hash.c: hash.c:96:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m3 = _mm_shuffle_epi8(LOADU(datablock + 48), u8to32);
hash.c: ^
hash.c: hash.c:115:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
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-2

Compiler output

Implementation: ssse3
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:122:
hash.c: ./rounds.ssse3.h:3:55: warning: implicit conversion from 'long' to 'int' changes value from 2242054355 to -2052912941 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:3:22: warning: implicit conversion from 'long' to 'int' changes value from 3964562569 to -330404727 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:6:33: warning: implicit conversion from 'long' to 'int' changes value from 2752067618 to -1542899678 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(137296536, 2752067618, 320440878, 608135816);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:27:34: warning: implicit conversion from 'long' to 'int' changes value from 3380367581 to -914599715 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:27:22: warning: implicit conversion from 'long' to 'int' changes value from 3041331479 to -1253635817 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:30:46: warning: implicit conversion from 'long' to 'int' changes value from 3193202383 to -1101764913 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:30:34: warning: implicit conversion from 'long' to 'int' changes value from 3232508343 to -1062458953 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:51:57: warning: implicit conversion from 'long' to 'int' changes value from 3193202383 to -1101764913 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(137296536, 3041331479, 1160258022, 3193202383);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ssse3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ssse3
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ssse3
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ssse3
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:115:3: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake256_compress' that is compiled without support for 'xop'
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:51:3: note: expanded from macro 'ROUND'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: <scratch space>:234:1: note: expanded from here
hash.c: LOAD_MSG_0_1
hash.c: ^
hash.c: ./load.xop.h:19:6: note: expanded from macro 'LOAD_MSG_0_1'
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
hash.c: ^
hash.c: ./rounds.h:8:10: note: expanded from macro 'G1'
hash.c: row4 = _mm_roti_epi32(row4, -16); \
hash.c: ^
hash.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:234:12: note: expanded from macro '_mm_roti_epi32'
hash.c: (__m128i)__builtin_ia32_vprotdi((__v4si)(__m128i)(A), (N))
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
hash.c: ...

Number of similar (compiler,implementation) pairs: 4, 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

Compiler output

Implementation: xop
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:93:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m0 = _mm_shuffle_epi8(LOADU(datablock + 00), u8to32);
hash.c: ^
hash.c: hash.c:94:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m1 = _mm_shuffle_epi8(LOADU(datablock + 16), u8to32);
hash.c: ^
hash.c: hash.c:95:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m2 = _mm_shuffle_epi8(LOADU(datablock + 32), u8to32);
hash.c: ^
hash.c: hash.c:96:22: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake256_compress' that is compiled without support for 'ssse3'
hash.c: const __m128i m3 = _mm_shuffle_epi8(LOADU(datablock + 48), u8to32);
hash.c: ^
hash.c: hash.c:115:3: error: always_inline function '_mm_perm_epi8' requires target feature 'xop', but would be inlined into function 'blake256_compress' that is compiled without support for 'xop'
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:51:3: note: expanded from macro 'ROUND'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: <scratch space>:234:1: note: expanded from here
hash.c: LOAD_MSG_0_1
hash.c: ^
hash.c: ./load.xop.h:19:6: note: expanded from macro 'LOAD_MSG_0_1'
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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 blake256.h:7,
hash.c: from hash.c:2:
hash.c: hash.c: In function 'blake256_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:266:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi32': target specific option mismatch
hash.c: 266 | _mm_roti_epi32(__m128i __A, const int __B)
hash.c: | ^~~~~~~~~~~~~~
hash.c: In file included from blake256.h:127,
hash.c: from hash.c:2:
hash.c: rounds.h:19:10: note: called from here
hash.c: 19 | row2 = _mm_roti_epi32(row2, -7); \
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~
hash.c: rounds.h:59:3: note: in expansion of macro 'G2'
hash.c: 59 | G2(row1,row2,row3,row4,buf4); \
hash.c: | ^~
hash.c: hash.c:128:3: note: in expansion of macro 'ROUND'
hash.c: 128 | ROUND(13);
hash.c: | ^~~~~
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
hash.c: from blake256.h:7,
hash.c: from hash.c:2:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:266:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi32': target specific option mismatch
hash.c: 266 | _mm_roti_epi32(__m128i __A, const int __B)
hash.c: | ^~~~~~~~~~~~~~
hash.c: In file included from blake256.h:127,
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