Implementation notes: amd64, hydra5, crypto_hash/romulush

Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20231107
Operation: crypto_hash
Primitive: romulush
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2003648704 592 020320 1460 896T:opt32tclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
2006138720 592 021208 1460 896T:opt32tclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
2006358720 592 021208 1460 896T:opt32tclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
2025449691 608 021797 1420 960T:opt32tgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
2041378945 608 019088 1396 928T:opt32tgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
2044888058 592 018752 1460 896T:opt32tclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
20496410812 608 024285 1420 960T:opt32tgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
2164139276 608 020436 1412 960T:opt32tgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
2165797691 592 017610 1452 896T:opt32tclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
35702627136 640 039088 1508 896T:opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
35856525978 640 037064 1508 896T:opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
36124027136 640 039088 1508 896T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
43949219582 640 030408 1508 896T:opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
46474617514 640 029797 1452 960T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
51396016267 640 027628 1444 960T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
54837317488 640 027394 1500 896T:opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
57009731062 640 044725 1452 960T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
61154717469 640 027800 1428 928T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
7534444672 12 017208 872 896T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
7582394672 12 017208 872 896T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
7658134775 12 016448 872 896T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
10755307149 12 020749 816 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
34131092140 12 012106 864 896T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
34450502854 12 013608 872 896T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061220230530
37791162973 12 015213 816 960T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
40664902254 12 012552 792 928T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107
42088702419 12 013756 808 960T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110920231107

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