Implementation notes: amd64, hydra5, crypto_hash/romulush

Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: romulush
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2003818720 592 021632 1460 896T:opt32tclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2003918720 592 021632 1460 896T:opt32tclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2006238704 592 020712 1460 896T:opt32tclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2031979691 608 021797 1420 960T:opt32tgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
2041508945 608 019088 1396 928T:opt32tgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
2048508058 592 018752 1460 896T:opt32tclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
20494510812 608 024285 1420 960T:opt32tgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
2165907691 592 017610 1452 896T:opt32tclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2166999276 608 020436 1412 960T:opt32tgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
35561027136 640 039512 1508 896T:opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
35690027136 640 039512 1508 896T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
35781925978 640 037456 1508 896T:opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
44048319582 640 030408 1508 896T:opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
46665817514 640 029797 1452 960T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
52350416267 640 027628 1444 960T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
54620317488 640 027394 1500 896T:opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
57004331062 640 044725 1452 960T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
63477417469 640 027800 1428 928T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
7511634775 12 016840 872 896T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7632734672 12 017632 872 896T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7689394672 12 017632 872 896T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
10756307149 12 020749 816 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
34485552854 12 013608 872 896T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
34926682140 12 012106 864 896T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
37923662973 12 015213 816 960T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
40864792254 12 012552 792 928T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
42219952419 12 013756 808 960T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212

Compiler output

Implementation: T:x86
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skinny128.c: skinny128.c:94:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, _mm_set_epi32(0x03040602, 0x05000701, 0x0b0c0e0a, 0x0d080f09));
skinny128.c: ^
skinny128.c: skinny128.c:96:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:98:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:100:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:102:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:104:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:106:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:108:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: tk_1 = _mm_shuffle_epi8(tk_1, perm_tk);
skinny128.c: ^
skinny128.c: skinny128.c:112:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'skinny128_384_plus' that is compiled without support for 'ssse3'
skinny128.c: ...

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

Compiler output

Implementation: T:x86
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
skinny128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:37,
skinny128.c: from skinny128.c:9:
skinny128.c: skinny128.c: In function 'skinny128_384_plus':
skinny128.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
skinny128.c: 136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
skinny128.c: | ^~~~~~~~~~~~~~~~
skinny128.c: skinny128.c:45:13: note: called from here
skinny128.c: 45 | state = _mm_shuffle_epi8(state, m1); /* state <- (r2, - , r2, r0) */ \
skinny128.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
skinny128.c: skinny128.c:56:5: note: in expansion of macro 'SR_MC'
skinny128.c: 56 | SR_MC(); \
skinny128.c: | ^~~~~
skinny128.c: skinny128.c:131:5: note: in expansion of macro 'DOUBLE_ROUND'
skinny128.c: 131 | DOUBLE_ROUND(rtk_1+48, rtk_23+304);
skinny128.c: | ^~~~~~~~~~~~
skinny128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:37,
skinny128.c: from skinny128.c:9:
skinny128.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
skinny128.c: 136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
skinny128.c: | ^~~~~~~~~~~~~~~~
skinny128.c: skinny128.c:43:14: note: called from here
skinny128.c: 43 | tmp0 = _mm_shuffle_epi8(state, m0); /* tmp0 <- (r3, r0, r1, r2) */ \
skinny128.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
skinny128.c: skinny128.c:56:5: note: in expansion of macro 'SR_MC'
skinny128.c: 56 | SR_MC(); \
skinny128.c: ...

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