Implementation notes: amd64, spawn, crypto_hash/bmw256

Computer: spawn
Microarchitecture: amd64; Zen 3 (a20f10)
Architecture: amd64
CPU ID: AuthenticAMD-00a20f10-178bfbff
SUPERCOP version: 20231215
Operation: crypto_hash
Primitive: bmw256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
629012259 0 023101 768 800T:optabegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
629013004 0 026334 776 800T:optbbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
629012702 0 023693 784 800T:optc04gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
632719998 0 033318 776 800T:optc02gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
636412666 0 023645 784 800T:optc03gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
640112593 0 023950 776 800T:optabegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
640112300 0 023133 768 800T:optbbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
643812796 0 024158 776 800T:optbbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
643842730 0 056046 776 800T:optc01gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
643840288 0 051198 776 800T:optc01gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
647541619 0 052974 776 800T:optc01gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
647519886 0 031238 776 800T:optc02gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
658611715 0 021537 752 768T:optbbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
658618750 0 029654 776 800T:optc02gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
662315665 0 026710 776 800T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
666011704 0 021521 752 768T:optabegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
669736725 0 046513 752 768T:optc01gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
673414351 0 027678 776 800T:optabegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
67717059 0 018373 784 800T:optbgbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
69197160 0 017948 776 800T:optbgbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
70676571 0 016360 760 768T:optbgbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
791813092 0 024142 776 800T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
873214648 0 024481 752 768T:optc02gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1465212211 0 023614 776 800T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1480014117 0 027573 784 800T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1487410444 0 020289 752 768T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
1517011869 0 022822 776 800T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215

Checksum failure

Implementation: T:optbgbe
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
d900ae76e9431ed1695891fdf0fbf723719acd8e6963e4441d031f1fa956f502
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optbgbe

Checksum failure

Implementation: T:sphlib
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
c79502110cadeddc766ccd862f784ba8f7dc7c9ce54fe5f1db1b45e2a9a10c43
Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib T:sphlib-small

Test failure

Implementation: T:amd_k8/x86-64/noSSE
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd_k8/x86-64/noSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd_k8/x86-64/noSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd_k8/x86-64/noSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd_k8/x86-64/noSSE
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_65nm/x86-64/ssse3_v1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_65nm/x86-64/ssse3_v1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_65nm/x86-64/ssse3_v1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_2_65nm/x86-64/ssse3_v1
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_i7_45nm/x86-64/sse4_v1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:core_i7_45nm/x86-64/sse4_v1

Test failure

Implementation: T:optc03
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_hash is nondeterministic

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc03
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc03
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc03
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc04
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc04
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc04
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small

Compiler output

Implementation: T:amd_k8/x86-64/noSSE
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_bmw256.a(Compress256_icc.o): warning: relocation in read-only section `.eh_frame'
try.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE

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

Compiler output

Implementation: T:optc31ssse3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Compress256_sse_31.c: Compress256_sse_31.c: In function 'Compress256':
Compress256_sse_31.c: Compress256_sse_31.c:374:26: warning: passing argument 1 of '_mm_storeu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
Compress256_sse_31.c: 374 | _mm_storeu_si128(&p256[00], copyTemp);
Compress256_sse_31.c: | ^~~~~~~~~
Compress256_sse_31.c: | |
Compress256_sse_31.c: | u_int32_t * {aka unsigned int *}
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/pmmintrin.h:31,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/tmmintrin.h:31,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:737:30: note: expected '__m128i_u *' but argument is of type 'u_int32_t *' {aka 'unsigned int *'}
Compress256_sse_31.c: 737 | _mm_storeu_si128 (__m128i_u *__P, __m128i __B)
Compress256_sse_31.c: | ~~~~~~~~~~~^~~
Compress256_sse_31.c: Compress256_sse_31.c:377:36: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
Compress256_sse_31.c: 377 | copyTemp = _mm_loadu_si128(&hashState256(state)->DoublePipe[ 4]);
Compress256_sse_31.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compress256_sse_31.c: | |
Compress256_sse_31.c: | u_int32_t * {aka unsigned int *}
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/pmmintrin.h:31,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/tmmintrin.h:31,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:701:35: note: expected 'const __m128i_u *' but argument is of type 'u_int32_t *' {aka 'unsigned int *'}
Compress256_sse_31.c: 701 | _mm_loadu_si128 (__m128i_u const *__P)
Compress256_sse_31.c: | ~~~~~~~~~~~~~~~~~^~~
Compress256_sse_31.c: Compress256_sse_31.c:378:26: warning: passing argument 1 of '_mm_storeu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
Compress256_sse_31.c: 378 | _mm_storeu_si128(&p256[04], copyTemp);
Compress256_sse_31.c: ...

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