Implementation notes: amd64, avx512imath, crypto_hash/bmw512

Computer: avx512imath
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20210125
Operation: crypto_hash
Primitive: bmw512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
544137662 0 048307 780 920T:optc02gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
548437680 0 048323 780 920T:optc01gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
56207641 0 017946 804 920T:opt008_asm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
56227880 0 019231 828 952T:opt008_asm64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
56237847 0 019055 828 952T:opt008_asm64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
56307880 0 022023 828 952T:opt008_asm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
566614741 0 029359 812 952T:optc04gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
567015385 0 027079 796 952T:optbbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
567115946 0 030504 804 952T:optbbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
568914728 0 026423 812 952T:optc04gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
569214661 0 026199 796 952T:optbbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
569714175 0 024851 780 920T:optbbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
570115305 0 026999 796 952T:optabegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
573014741 0 026583 812 952T:optc04gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
574614390 0 025059 780 920T:optabegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
577014733 0 026279 796 952T:optabegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
577840115 0 051720 804 952T:optc01gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
584421521 0 033136 804 952T:optc03gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
584740076 0 051688 804 952T:optc02gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
590011849 0 023486 804 952T:optbgbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
590312305 0 026703 812 952T:optbgbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
590942385 0 054144 804 952T:optc01gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
591316531 0 028424 804 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
591442960 0 057496 804 952T:optc01gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
591722809 0 037344 804 952T:optc03gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
592115456 0 027208 804 952T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
592542337 0 054096 804 952T:optc02gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
593042912 0 057448 804 952T:optc02gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
593218747 0 033384 804 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
594722809 0 034568 804 952T:optc03gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
596411835 0 023326 804 952T:optbgbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
61127414 0 018058 788 920T:optbgbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
613917124 0 031672 804 952T:optabegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
630414619 0 025403 780 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
698312865 0 023618 788 920T:optc04gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
710217521 0 028195 780 920T:optc03gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
788014411 0 026304 804 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
816212360 0 023147 780 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
860913019 0 024768 804 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
890516675 0 031312 804 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
1044511801 0 023608 804 952T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
1057513531 0 028215 812 952T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
1066511225 0 022888 804 952T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
1484410152 0 020851 780 920T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125

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:44: 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/9/include/emmintrin.h:695:32: note: expected 'const __vector(2) long long int *' but argument is of type 'u_int64_t *' {aka 'long unsigned int *'}
BlueMidnightWish.c: 695 | _mm_load_si128 (__m128i const *__P)
BlueMidnightWish.c: | ~~~~~~~~~~~~~~~^~~
BlueMidnightWish.c: BlueMidnightWish.c:390:18: 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: In file included from BlueMidnightWish.c:12:
BlueMidnightWish.c: /usr/lib/gcc/x86_64-linux-gnu/9/include/emmintrin.h:719:27: note: expected '__vector(2) long long int *' but argument is of type 'u_int64_t *' {aka 'long unsigned int *'}
BlueMidnightWish.c: 719 | _mm_store_si128 (__m128i *__P, __m128i __B)
BlueMidnightWish.c: | ~~~~~~~~~^~~
BlueMidnightWish.c: BlueMidnightWish.c:391:44: 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: In file included from BlueMidnightWish.c:12:
BlueMidnightWish.c: ...

Number of similar (compiler,implementation) pairs: 4, 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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optx86sse2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optx86sse2

Namespace violations

Implementation: T:opt008_asm64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Compress.o .debug_line_seg N
Compress.o Compress512 T
update.o Hash T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt008_asm64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt008_asm64

Namespace violations

Implementation: T:optbgbe
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
bmw_large_speed.o bmw512_ctx2hash T
bmw_large_speed.o bmw512_init T
bmw_large_speed.o bmw512_lastBlock T
bmw_large_speed.o bmw512_nextBlock T
memxor.o memxor T

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

Namespace violations

Implementation: T:optc01
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update T
BlueMidnightWish.o i224p2 R
BlueMidnightWish.o i256p2 R
BlueMidnightWish.o i384p2 R
BlueMidnightWish.o i512p2 R

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

Namespace violations

Implementation: T:optc03
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update T
BlueMidnightWish.o i512p2 R

Number of similar (compiler,implementation) pairs: 4, 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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc03
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc03

Namespace violations

Implementation: T:optc04
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
BlueMidnightWish.o Hash T
BlueMidnightWish.o i512p2 R

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc04
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optc04

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
BlueMidnightWish.o Compression256 T
BlueMidnightWish.o Compression512 T
BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update T
BlueMidnightWish.o expand32_1 T
BlueMidnightWish.o expand32_2 T
BlueMidnightWish.o expand64_1 T
BlueMidnightWish.o expand64_2 T
BlueMidnightWish.o i224p2 R
BlueMidnightWish.o i256p2 R
BlueMidnightWish.o i384p2 R
BlueMidnightWish.o i512p2 R

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

Namespace violations

Implementation: T:sphlib
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
bmw.o sph_bmw224 T
bmw.o sph_bmw224_addbits_and_close T
bmw.o sph_bmw224_close T
bmw.o sph_bmw224_init T
bmw.o sph_bmw256 T
bmw.o sph_bmw256_addbits_and_close T
bmw.o sph_bmw256_close T
bmw.o sph_bmw256_init T
bmw.o sph_bmw384 T
bmw.o sph_bmw384_addbits_and_close T
bmw.o sph_bmw384_close T
bmw.o sph_bmw384_init T
bmw.o sph_bmw512 T
bmw.o sph_bmw512_addbits_and_close T
bmw.o sph_bmw512_close T
bmw.o sph_bmw512_init T

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -O -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 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small