Implementation notes: amd64, hertz, crypto_hash/bmw512

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: bmw512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
39407884 0 019157 820 968T:opt008_asm64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
39587884 0 021237 820 1032T:opt008_asm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
39597598 0 022083 876 968T:opt008_asm64clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
39677598 0 021955 876 968T:opt008_asm64clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
39927614 0 017400 796 936T:opt008_asm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
40227613 0 019156 868 968T:opt008_asm64clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
407216582 0 030666 844 968T:optc04clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
407916540 0 027900 836 968T:optc04clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
411516169 0 027956 812 968T:optc04gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
412917245 0 031021 804 1032T:optbbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
413417269 0 028989 804 968T:optbbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
417516582 0 030794 844 968T:optc04clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
418017271 0 028989 804 968T:optabegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
422317255 0 031053 804 1032T:optabegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
428016169 0 030004 812 1032T:optc04gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
438517147 0 027368 780 936T:optbbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
440317008 0 027240 780 936T:optabegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
44528096 0 019709 804 968T:optbgbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
448713161 0 026589 804 1032T:optbgbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
45237834 0 019380 836 968T:optbgbeclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
45278141 0 022315 844 968T:optbgbeclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
453017648 0 032243 844 968T:sphlibclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
45448141 0 022187 844 968T:optbgbeclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
457017616 0 032083 844 968T:sphlibclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
45927635 0 017752 780 936T:optbgbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
462825305 0 039093 804 1032T:optc03gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
462915988 0 027564 836 968T:optabeclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
463315744 0 027428 836 968T:sphlibclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
464317473 0 031365 804 1032T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
466216691 0 028549 804 968T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
466446621 0 060413 804 1032T:optc02gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
466516126 0 027676 836 968T:optbbeclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
466716150 0 030467 844 968T:optabeclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
467216150 0 030467 844 968T:optbbeclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
468946227 0 057949 804 968T:optc02gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
469216163 0 030611 844 968T:optbbeclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
469946669 0 060461 804 1032T:optc01gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
470116163 0 030611 844 968T:optabeclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
471846243 0 057965 804 968T:optc01gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
473643776 0 053984 780 936T:optc01gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
478425305 0 037013 804 968T:optc03gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
478543762 0 053968 780 936T:optc02gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
486925129 0 035780 836 968T:optc03clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
488925178 0 038626 844 968T:optc03clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
493125178 0 038754 844 968T:optc03clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
496448397 0 059220 836 968T:optc01clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
498348376 0 059188 836 968T:optc02clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
501914480 0 024791 788 936T:optc04gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
506049116 0 062802 844 968T:optc01clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
506049090 0 062770 844 968T:optc02clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
507949051 0 062602 844 968T:optc01clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
508049027 0 062586 844 968T:optc02clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
524220529 0 030760 780 936T:optc03gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
527615180 0 025520 780 936T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
589714483 0 029075 844 968T:sphlib-smallclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
676912713 0 024228 836 968T:sphlib-smallclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
690915011 0 029251 844 968T:sphlib-smallclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
722112289 0 022640 780 936T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
727615353 0 029245 804 1032T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
768214747 0 026637 804 968T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
915710923 0 025234 844 968T:refclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
916111004 0 025450 844 968T:refclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
93229942 0 021468 836 968T:refclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
964710948 0 021192 780 936T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
967513961 0 027805 804 1032T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
969312299 0 024069 804 968T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217

Compiler output

Implementation: T:opt008_asm64
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_bmw512.a(Compress.o): warning: relocation in read-only section `.eh_frame'
try.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE
try.c: /usr/bin/ld: libcrypto_hash_bmw512.a(Compress.o): warning: relocation in read-only section `.eh_frame'
try.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE
measure.c: /usr/bin/ld: libcrypto_hash_bmw512.a(Compress.o): warning: relocation in read-only section `.eh_frame'
measure.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt008_asm64
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt008_asm64
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt008_asm64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt008_asm64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt008_asm64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt008_asm64

Compiler output

Implementation: T:optx86sse2
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
BlueMidnightWish.c: BlueMidnightWish.c:390:44: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: 390 | _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->DoublePipe[0]));
BlueMidnightWish.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: /usr/lib/llvm-17/lib/clang/17/include/emmintrin.h:3354:31: note: passing argument to parameter '__p' here
BlueMidnightWish.c: 3354 | _mm_load_si128(__m128i const *__p) {
BlueMidnightWish.c: | ^
BlueMidnightWish.c: BlueMidnightWish.c:390:18: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: 390 | _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->DoublePipe[0]));
BlueMidnightWish.c: | ^~~~~~~~~
BlueMidnightWish.c: /usr/lib/llvm-17/lib/clang/17/include/emmintrin.h:3803:68: note: passing argument to parameter '__p' here
BlueMidnightWish.c: 3803 | static __inline__ void __DEFAULT_FN_ATTRS _mm_store_si128(__m128i *__p,
BlueMidnightWish.c: | ^
BlueMidnightWish.c: BlueMidnightWish.c:391:44: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: 391 | _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->DoublePipe[2]));
BlueMidnightWish.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: /usr/lib/llvm-17/lib/clang/17/include/emmintrin.h:3354:31: note: passing argument to parameter '__p' here
BlueMidnightWish.c: 3354 | _mm_load_si128(__m128i const *__p) {
BlueMidnightWish.c: | ^
BlueMidnightWish.c: BlueMidnightWish.c:391:18: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type '__m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: 391 | _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->DoublePipe[2]));
BlueMidnightWish.c: | ^~~~~~~~~
BlueMidnightWish.c: /usr/lib/llvm-17/lib/clang/17/include/emmintrin.h:3803:68: note: passing argument to parameter '__p' here
BlueMidnightWish.c: 3803 | static __inline__ void __DEFAULT_FN_ATTRS _mm_store_si128(__m128i *__p,
BlueMidnightWish.c: | ^
BlueMidnightWish.c: BlueMidnightWish.c:392:44: warning: incompatible pointer types passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
BlueMidnightWish.c: ...

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

Compiler output

Implementation: T:optx86sse2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
BlueMidnightWish.c: BlueMidnightWish.c: In function 'Compress512':
BlueMidnightWish.c: BlueMidnightWish.c:390:51: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: 390 | _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->DoublePipe[0]));
BlueMidnightWish.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: | |
BlueMidnightWish.c: | u_int64_t * {aka long unsigned int *}
BlueMidnightWish.c: In file included from BlueMidnightWish.c:12:
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:698:32: note: expected 'const __m128i *' but argument is of type 'u_int64_t *' {aka 'long unsigned int *'}
BlueMidnightWish.c: 698 | _mm_load_si128 (__m128i const *__P)
BlueMidnightWish.c: | ~~~~~~~~~~~~~~~^~~
BlueMidnightWish.c: BlueMidnightWish.c:390:25: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: 390 | _mm_store_si128(&p512[00], _mm_load_si128(&hashState512(state)->DoublePipe[0]));
BlueMidnightWish.c: | ^~~~~~~~~
BlueMidnightWish.c: | |
BlueMidnightWish.c: | u_int64_t * {aka long unsigned int *}
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:734:27: note: expected '__m128i *' but argument is of type 'u_int64_t *' {aka 'long unsigned int *'}
BlueMidnightWish.c: 734 | _mm_store_si128 (__m128i *__P, __m128i __B)
BlueMidnightWish.c: | ~~~~~~~~~^~~
BlueMidnightWish.c: BlueMidnightWish.c:391:51: warning: passing argument 1 of '_mm_load_si128' from incompatible pointer type [-Wincompatible-pointer-types]
BlueMidnightWish.c: 391 | _mm_store_si128(&p512[02], _mm_load_si128(&hashState512(state)->DoublePipe[2]));
BlueMidnightWish.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: | |
BlueMidnightWish.c: | u_int64_t * {aka long unsigned int *}
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:698:32: note: expected 'const __m128i *' but argument is of type 'u_int64_t *' {aka 'long unsigned int *'}
BlueMidnightWish.c: 698 | _mm_load_si128 (__m128i const *__P)
BlueMidnightWish.c: ...

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