Implementation notes: amd64, hertz, crypto_hash/bmw512

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240425
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
39477613 0 019144 852 968T:opt008_asm64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
39587884 0 021237 820 1032T:opt008_asm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
39747595 0 025263 860 968T:opt008_asm64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
39827595 0 025375 860 968T:opt008_asm64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
39927614 0 017400 796 936T:opt008_asm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
402914391 0 032143 828 968T:optc04clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
405214391 0 032031 828 968T:optc04clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
408314972 0 032623 828 968T:optbbeclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
409914985 0 032767 828 968T:optabeclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
410114811 0 026368 820 968T:optabeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
411014972 0 032639 828 968T:optabeclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
411414985 0 032751 828 968T:optbbeclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
411414947 0 026464 820 968T:optbbeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
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
413314319 0 025824 820 968T:optc04clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
413417269 0 028989 804 968T:optbbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-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
443622290 0 040071 828 968T:optc03clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
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
452217641 0 035407 828 968T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
456215767 0 027432 820 968T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
45678289 0 025591 828 968T:optbgbeclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
45738289 0 025479 828 968T:optbgbeclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
457622290 0 039959 828 968T:optc03clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
45787826 0 019352 820 968T:optbgbeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
458342484 0 053992 820 968T:optc01clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
458417705 0 035583 828 968T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
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
463942463 0 053976 820 968T:optc02clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
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
466643158 0 060807 828 968T:optc01clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
467543225 0 060991 828 968T:optc01clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
467543199 0 060959 828 968T:optc02clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
467943134 0 060775 828 968T:optc02clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
468946227 0 057949 804 968T:optc02gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
469946669 0 060461 804 1032T:optc01gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-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
498222350 0 033880 820 968T:optc03clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
501914480 0 024791 788 936T:optc04gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-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
557515152 0 033039 828 968T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
560614724 0 032495 828 968T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
684212791 0 024280 820 968T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
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
929711054 0 028646 828 968T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
930211121 0 028830 828 968T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
956110022 0 021552 820 968T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
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 -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 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt008_asm64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt008_asm64
clang -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 -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-18/lib/clang/18/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-18/lib/clang/18/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-18/lib/clang/18/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-18/lib/clang/18/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 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optx86sse2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optx86sse2
clang -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