Implementation notes: amd64, hertz, crypto_hash/mcssha4

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: mcssha4
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8194024677 0 042334 828 968T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
8204424822 0 042590 828 968T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
834753504 0 013736 780 936T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
849334749 0 018557 804 1032T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
850354334 0 016029 804 968T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
870204580 0 016144 820 968T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


mcssha4.c: mcssha4.c:54:8: warning: unused variable 'filename' [-Wunused-variable]
mcssha4.c:    54 |                 char filename[128];
mcssha4.c:       |                      ^~~~~~~~
mcssha4.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 3, 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))

Compiler output


mcssha4.c: mcssha4.c: In function 'Init':
mcssha4.c: mcssha4.c:60:23: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
mcssha4.c:    60 |         if(hashbitlen == 224 | hashbitlen == 256)
mcssha4.c:       |            ~~~~~~~~~~~^~~~~~
mcssha4.c: mcssha4.c:54:22: warning: unused variable 'filename' [-Wunused-variable]
mcssha4.c:    54 |                 char filename[128];
mcssha4.c:       |                      ^~~~~~~~
mcssha4.c: mcssha4.c: In function 'Update':
mcssha4.c: mcssha4.c:103:17: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
mcssha4.c:   103 |         if(data == NULL & databitlen == 0)return(SUCCESS);
mcssha4.c:       |                 ^
mcssha4.c: mcssha4.c:104:25: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
mcssha4.c:   104 |                 if(data == NULL & databitlen != 0)return(BAD_HASHBITLEN);
mcssha4.c:       |                         ^
mcssha4.c: mcssha4.c:122:29: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
mcssha4.c:   122 |            if(c->hashbitlen == 224 | c->hashbitlen == 256)
mcssha4.c:       |               ~~~~~~~~~~~~~~^~~~~~
mcssha4.c: mcssha4.c:168:29: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
mcssha4.c:   168 |            if(c->hashbitlen == 224 | c->hashbitlen == 256)
mcssha4.c:       |               ~~~~~~~~~~~~~~^~~~~~
mcssha4.c: mcssha4.c: In function 'Final':
mcssha4.c: mcssha4.c:242:26: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
mcssha4.c:   242 |         if(c->hashbitlen == 224 | c->hashbitlen == 256)
mcssha4.c:       |            ~~~~~~~~~~~~~~^~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
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


mcssha4.o Final T
mcssha4.o Hash T
mcssha4.o Hash3 T
mcssha4.o Init T
mcssha4.o Update T

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)