Implementation notes: amd64, h3neo, crypto_hash/blake64

Computer: h3neo
Microarchitecture: amd64; K10 45nm (100f63)
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: blake64
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1246321995 0 035541 804 960T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1247621685 0 033885 804 960T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1342721923 0 031965 836 896T:sphlibclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1349021712 0 033315 844 896T:sphlibclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1351021744 0 032395 844 896T:sphlibclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1351721744 0 034267 844 896T:sphlibclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1352021568 0 034531 844 896T:sphlibclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1379320651 0 032125 804 960T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1540519599 0 029968 780 928T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
186098035 0 019525 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
192387449 0 017808 780 928T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
215593766 0 014048 780 928T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
228404792 0 016227 844 896T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
229264792 0 017147 844 896T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
229538576 0 021099 844 896T:sphlib-smallclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
230218496 0 020115 844 896T:sphlib-smallclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
231594936 0 017731 844 896T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
232154267 0 015588 796 960T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
232588303 0 018349 836 896T:sphlib-smallclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
232788528 0 019195 844 896T:sphlib-smallclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
2366211093 0 023325 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
239605562 0 016091 844 896T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
2425111531 0 025077 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
249803674 0 013549 836 896T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
272028592 0 021587 844 896T:sphlib-smallclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
2784615139 0 028637 804 960T:sse2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
2833915039 0 027181 804 960T:sse2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
295056764 0 020229 804 960T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
296665303 0 017445 804 960T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
3304113243 0 023536 780 928T:sse2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
3357115844 0 027180 796 960T:sse2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
3364317352 0 030163 844 896T:sse2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
3568318122 0 028651 844 896T:sse2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
3569417592 0 029931 844 896T:sse2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
3571817592 0 029011 844 896T:sse2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
3580216424 0 026269 836 896T:sse2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625

Compiler output


hash.c: hash.c:268:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake64_compress' that is compiled without support for 'ssse3'
hash.c:   round(0);
hash.c:   ^
hash.c: hash.c:172:13: note: expanded from macro 'round'
hash.c:     row4a = _mm_shuffle_epi8(row4a, r16); \
hash.c:             ^
hash.c: hash.c:268:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake64_compress' that is compiled without support for 'ssse3'
hash.c: hash.c:193:13: note: expanded from macro 'round'
hash.c:     row4b = _mm_shuffle_epi8(row4b, r16); \
hash.c:             ^
hash.c: hash.c:268:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake64_compress' that is compiled without support for 'ssse3'
hash.c: hash.c:228:13: note: expanded from macro 'round'
hash.c:     row4a = _mm_shuffle_epi8(row4a, r16); \
hash.c:             ^
hash.c: hash.c:268:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake64_compress' that is compiled without support for 'ssse3'
hash.c: hash.c:249:13: note: expanded from macro 'round'
hash.c:     row4b = _mm_shuffle_epi8(row4b, r16); \
hash.c:             ^
hash.c: hash.c:269:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake64_compress' that is compiled without support for 'ssse3'
hash.c:   round(1);
hash.c:   ^
hash.c: hash.c:172:13: note: expanded from macro 'round'
hash.c:     row4a = _mm_shuffle_epi8(row4a, r16); \
hash.c:             ^
hash.c: hash.c:269:3: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'blake64_compress' that is compiled without support for 'ssse3'
hash.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:ssse3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ssse3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ssse3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ssse3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:ssse3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


hash.c: In file included from hash.c:5:
hash.c: hash.c: In function 'blake64_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/tmmintrin.h:136:1: error: inlining failed in call to 'always_inline' '_mm_shuffle_epi8': target specific option mismatch
hash.c:   136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
hash.c:       | ^~~~~~~~~~~~~~~~
hash.c: hash.c:249:13: note: called from here
hash.c:   249 |     row4b = _mm_shuffle_epi8(row4b, r16); \
hash.c:       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:281:3: note: in expansion of macro 'round'
hash.c:   281 |   round(13);
hash.c:       |   ^~~~~
hash.c: In file included from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/tmmintrin.h:136:1: error: inlining failed in call to 'always_inline' '_mm_shuffle_epi8': target specific option mismatch
hash.c:   136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
hash.c:       | ^~~~~~~~~~~~~~~~
hash.c: hash.c:228:13: note: called from here
hash.c:   228 |     row4a = _mm_shuffle_epi8(row4a, r16); \
hash.c:       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:281:3: note: in expansion of macro 'round'
hash.c:   281 |   round(13);
hash.c:       |   ^~~~~
hash.c: In file included from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/tmmintrin.h:136:1: error: inlining failed in call to 'always_inline' '_mm_shuffle_epi8': target specific option mismatch
hash.c:   136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
hash.c:       | ^~~~~~~~~~~~~~~~
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ssse3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ssse3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)