Implementation notes: amd64, h3neo, crypto_hash/blake64

Computer: h3neo
Microarchitecture: amd64; K10 45nm (100f63)
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: blake64
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1246821995 0 035541 804 960T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1247221685 0 033885 804 960T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1348521923 0 031965 836 896T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
1348921712 0 033315 844 896T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
1350921744 0 032395 844 896T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
1352021568 0 034531 844 896T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
1354121744 0 034267 844 896T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
1381420651 0 032125 804 960T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1450319599 0 029968 780 928T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
185858035 0 019525 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
192097449 0 017808 780 928T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
213603766 0 014048 780 928T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
228054792 0 016227 844 896T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
228914792 0 017147 844 896T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
231068496 0 020115 844 896T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
231594936 0 017731 844 896T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
232418576 0 021099 844 896T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
232688303 0 018349 836 896T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
233068528 0 019195 844 896T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
235714267 0 015588 796 960T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
237255562 0 016091 844 896T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
2381811093 0 023325 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2433111531 0 025077 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
259173674 0 013549 836 896T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
267798592 0 021587 844 896T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
2787015139 0 028637 804 960T:sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2835515039 0 027181 804 960T:sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
292645303 0 017445 804 960T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
294356764 0 020229 804 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
3307213243 0 023536 780 928T:sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
3365417352 0 030163 844 896T:sse2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
3369715844 0 027180 796 960T:sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
3555518122 0 028651 844 896T:sse2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
3565117592 0 029011 844 896T:sse2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
3572616424 0 026269 836 896T:sse2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
3575517592 0 029931 844 896T:sse2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212

Compiler output

Implementation: T:ssse3
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ssse3

Compiler output

Implementation: T:ssse3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ssse3