Implementation notes: amd64, hertz, crypto_hash/bmw512

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: bmw512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
39487653 0 017527 804 936T:opt008_asm64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
39777824 0 019148 828 968T:opt008_asm64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
39787595 0 025375 860 968T:opt008_asm64clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
39797595 0 025263 860 968T:opt008_asm64clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
39847613 0 019144 852 968T:opt008_asm64clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
403314391 0 032031 828 968T:optc04clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
403814391 0 032143 828 968T:optc04clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
408114319 0 025824 820 968T:optc04clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
410514985 0 032751 828 968T:optbbeclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
410714947 0 026464 820 968T:optbbeclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
411114985 0 032767 828 968T:optabeclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
411614811 0 026368 820 968T:optabeclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
412316130 0 027995 820 968T:optc04gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
412516130 0 030067 820 1032T:optc04gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
412814972 0 032623 828 968T:optbbeclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
413117269 0 028965 804 968T:optbbegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
413617245 0 031021 804 1032T:optbbegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
415414972 0 032639 828 968T:optabeclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
417917271 0 028965 804 968T:optabegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
418517255 0 031053 804 1032T:optabegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
437722290 0 040071 828 968T:optc03clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
44638128 0 019717 804 968T:optbgbegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
44757824 0 021252 828 1032T:opt008_asm64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
449313161 0 026589 804 1032T:optbgbegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
454615767 0 027432 820 968T:sphlibclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
455517641 0 035407 828 968T:sphlibclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
456317705 0 035583 828 968T:sphlibclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
456717509 0 031453 804 1032T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
45768289 0 025479 828 968T:optbgbeclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
45837826 0 019352 820 968T:optbgbeclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
458722290 0 039959 828 968T:optc03clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
46008289 0 025591 828 968T:optbgbeclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
46147635 0 017768 780 936T:optbgbegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
462925305 0 036989 804 968T:optc03gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
466216691 0 028525 804 968T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
470525305 0 039093 804 1032T:optc03gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
474717182 0 027416 780 936T:optbbegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
494717043 0 027288 780 936T:optabegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
497422350 0 033880 820 968T:optc03clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
503014516 0 024934 796 936T:optc04gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
517820529 0 030776 780 936T:optc03gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
526315180 0 025536 780 936T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
560015152 0 033039 828 968T:sphlib-smallclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
561914724 0 032495 828 968T:sphlib-smallclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
690215389 0 029333 804 1032T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
705212791 0 024280 820 968T:sphlib-smallclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
724212289 0 022656 780 936T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
777014747 0 026613 804 968T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
931511121 0 028830 828 968T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
932411054 0 028646 828 968T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
957110022 0 021552 820 968T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
960910948 0 021208 780 936T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
966812299 0 024045 804 968T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
968313573 0 027413 804 1032T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


update.c: update.c:83:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
update.c:    83 |         hashState512_(state).LastPart[LastByte] = hashState512_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
update.c:       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
update.c:    84 |                                                     ^ (0x01 << PadOnePosition);
update.c:       |                                                     ~
update.c: update.c:83:84: note: place parentheses around the '&' expression to silence this warning
update.c:    83 |         hashState512_(state).LastPart[LastByte] = hashState512_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
update.c:       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
update.c: 1 warning generated.
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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opt008_asm64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt008_asm64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt008_asm64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


update.c: update.c: In function 'Hash':
update.c: update.c:83:91: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
update.c:    83 |         hashState512_(state).LastPart[LastByte] = hashState512_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
update.c:       |                                                                                           ^
update.c: update.c:127:9: warning: array subscript -2 is outside array bounds of 'u_int64_t[16]' {aka 'long unsigned int[16]'} [-Warray-bounds=]
update.c:   127 |         Compress512(data64, data64 +16, (hashState *) (CONST64final-2)); // TODO: This is a HACK...
update.c:       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
update.c: update.c:113:50: note: at offset -16 into object 'CONST64final' of size 128
update.c:   113 |         u_int64_t __attribute__ ((aligned (16))) CONST64final[16] =
update.c:       |                                                  ^~~~~~~~~~~~
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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opt008_asm64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt008_asm64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt008_asm64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


BlueMidnightWish.c: BlueMidnightWish.c:1182:29: warning: unused variable 'tdat32' [-Wunused-variable]
BlueMidnightWish.c:  1182 |         u_int32_t *data32, *p256, *tdat32, *tp256;
BlueMidnightWish.c:       |                                    ^~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1182:38: warning: unused variable 'tp256' [-Wunused-variable]
BlueMidnightWish.c:  1182 |         u_int32_t *data32, *p256, *tdat32, *tp256;
BlueMidnightWish.c:       |                                             ^~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1188:69: warning: unused variable 't256_22' [-Wunused-variable]
BlueMidnightWish.c:  1188 |     u_int32_t t256_16, t256_17, t256_18, t256_19, t256_20, t256_21, t256_22, t256_23;
BlueMidnightWish.c:       |                                                                     ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1188:78: warning: unused variable 't256_23' [-Wunused-variable]
BlueMidnightWish.c:  1188 |     u_int32_t t256_16, t256_17, t256_18, t256_19, t256_20, t256_21, t256_22, t256_23;
BlueMidnightWish.c:       |                                                                              ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1189:15: warning: unused variable 't256_24' [-Wunused-variable]
BlueMidnightWish.c:  1189 |     u_int32_t t256_24, t256_25, t256_26, t256_27, t256_28, t256_29, t256_30, t256_31;
BlueMidnightWish.c:       |               ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1189:24: warning: unused variable 't256_25' [-Wunused-variable]
BlueMidnightWish.c:  1189 |     u_int32_t t256_24, t256_25, t256_26, t256_27, t256_28, t256_29, t256_30, t256_31;
BlueMidnightWish.c:       |                        ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1189:33: warning: unused variable 't256_26' [-Wunused-variable]
BlueMidnightWish.c:  1189 |     u_int32_t t256_24, t256_25, t256_26, t256_27, t256_28, t256_29, t256_30, t256_31;
BlueMidnightWish.c:       |                                 ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1189:42: warning: unused variable 't256_27' [-Wunused-variable]
BlueMidnightWish.c:  1189 |     u_int32_t t256_24, t256_25, t256_26, t256_27, t256_28, t256_29, t256_30, t256_31;
BlueMidnightWish.c:       |                                          ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1189:51: warning: unused variable 't256_28' [-Wunused-variable]
BlueMidnightWish.c: ...

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optc01clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc01clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc01clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc02clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc02clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc02clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


BlueMidnightWish.c: BlueMidnightWish.c: In function 'Update':
BlueMidnightWish.c: BlueMidnightWish.c:1200:78: warning: unused variable 't512_31' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                                                                              ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:69: warning: unused variable 't512_30' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                                                                     ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:60: warning: unused variable 't512_29' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                                                            ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:51: warning: unused variable 't512_28' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                                                   ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:42: warning: unused variable 't512_27' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                                          ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:33: warning: unused variable 't512_26' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                                 ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:24: warning: unused variable 't512_25' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |                        ^~~~~~~
BlueMidnightWish.c: BlueMidnightWish.c:1200:15: warning: unused variable 't512_24' [-Wunused-variable]
BlueMidnightWish.c:  1200 |     u_int64_t t512_24, t512_25, t512_26, t512_27, t512_28, t512_29, t512_30, t512_31;
BlueMidnightWish.c:       |               ^~~~~~~
BlueMidnightWish.c: ...

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optc01gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc01gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc01gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc02gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc02gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc02gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


BlueMidnightWish.c: BlueMidnightWish.c:650:3: warning: misleading indentation; statement is not part of the previous 'else' [-Wmisleading-indentation]
BlueMidnightWish.c:   650 |                 p512   = hashState512(state)->DoublePipe;
BlueMidnightWish.c:       |                 ^
BlueMidnightWish.c: BlueMidnightWish.c:648:2: note: previous statement is here
BlueMidnightWish.c:   648 |         else
BlueMidnightWish.c:       |         ^
BlueMidnightWish.c: BlueMidnightWish.c:688:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c:   688 |         hashState512(state)->LastPart[LastByte] = hashState512(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c:       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c:   689 |                                                     ^ (0x01 << PadOnePosition);
BlueMidnightWish.c:       |                                                     ~
BlueMidnightWish.c: BlueMidnightWish.c:688:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c:   688 |         hashState512(state)->LastPart[LastByte] = hashState512(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c:       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optc03clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc03clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc03clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


BlueMidnightWish.c: BlueMidnightWish.c: In function 'Update':
BlueMidnightWish.c: BlueMidnightWish.c:648:9: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
BlueMidnightWish.c:   648 |         else
BlueMidnightWish.c:       |         ^~~~
BlueMidnightWish.c: BlueMidnightWish.c:650:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'
BlueMidnightWish.c:   650 |                 p512   = hashState512(state)->DoublePipe;
BlueMidnightWish.c:       |                 ^~~~
BlueMidnightWish.c: BlueMidnightWish.c: In function 'Final':
BlueMidnightWish.c: BlueMidnightWish.c:688:91: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
BlueMidnightWish.c:   688 |         hashState512(state)->LastPart[LastByte] = hashState512(state)->LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c:       |                                                                                           ^

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optc03gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc03gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc03gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


BlueMidnightWish.c: BlueMidnightWish.c:988:84: warning: '&' within '^' [-Wbitwise-op-parentheses]
BlueMidnightWish.c:   988 |         hashState512_(state).LastPart[LastByte] = hashState512_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c:       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c:   989 |                                                     ^ (0x01 << PadOnePosition);
BlueMidnightWish.c:       |                                                     ~
BlueMidnightWish.c: BlueMidnightWish.c:988:84: note: place parentheses around the '&' expression to silence this warning
BlueMidnightWish.c:   988 |         hashState512_(state).LastPart[LastByte] = hashState512_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c:       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BlueMidnightWish.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optc04clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc04clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc04clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


BlueMidnightWish.c: BlueMidnightWish.c: In function 'Hash':
BlueMidnightWish.c: BlueMidnightWish.c:988:91: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
BlueMidnightWish.c:   988 |         hashState512_(state).LastPart[LastByte] = hashState512_(state).LastPart[LastByte] & (0xff << (PadOnePosition + 1) )\
BlueMidnightWish.c:       |                                                                                           ^

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optc04gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc04gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc04gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optx86sse2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optx86sse2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optx86sse2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optx86sse2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optx86sse2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optx86sse2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


Compress.o .debug_line_seg N
Compress.o Compress512 T
update.o Hash T

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:opt008_asm64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt008_asm64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt008_asm64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opt008_asm64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt008_asm64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opt008_asm64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optbgbeclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optbgbeclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optbgbeclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optbgbegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optbgbegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optbgbegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


BlueMidnightWish.o Final T
BlueMidnightWish.o Hash T
BlueMidnightWish.o Init T
BlueMidnightWish.o Update T
BlueMidnightWish.o i512p2 R

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optc03clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc03clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc03clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc03gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc03gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc03gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


BlueMidnightWish.o Hash T
BlueMidnightWish.o i512p2 R

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optc04clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc04clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc04clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optc04gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc04gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optc04gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 12, namely:
ImplementationCompiler
T:sphlibclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sphlibclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sphlibclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sphlibgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sphlibgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sphlibgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sphlib-smallclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sphlib-smallclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sphlib-smallclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sphlib-smallgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sphlib-smallgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:sphlib-smallgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)