Implementation notes: amd64, speed2supercop, crypto_hash/hamsi

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240425
Operation: crypto_hash
Primitive: hamsi
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3474039275 0 049220 744 800T:simd-1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3536039248 0 048152 728 768T:simd-1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3559239676 0 051941 752 800T:simd-1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3574039316 0 049701 752 800T:simd-1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3599639433 0 049364 744 800T:simd-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3631639804 0 052069 752 800T:simd-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3635639460 0 049845 752 800T:simd-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3637239404 0 048312 728 768T:simd-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3912012068 0 024333 752 800T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3940411369 0 020280 728 768T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3946411580 0 021965 752 800T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3980011576 0 021508 744 800T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425

Compiler output

Implementation: T:bernstein/small-simd-2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hamsi.c: hamsi.c: In function 'Update':
hamsi.c: hamsi.c:184:38: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
hamsi.c: 184 | state->buffer[bufferbytes + i] = data[i];
hamsi.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
hamsi.c: In file included from hamsi.c:3:
hamsi.c: hamsi.h:12:11: note: at offset [5, 7] into destination object 'buffer' of size 4
hamsi.c: 12 | uint8_t buffer[4];
hamsi.c: | ^~~~~~

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:bernstein/small-simd-2

Compiler output

Implementation: T:simd-1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hamsi.c: hamsi.c: In function 'Update':
hamsi.c: hamsi.c:273:38: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
hamsi.c: 273 | state->buffer[bufferbytes + i] = data[i];
hamsi.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
hamsi.c: In file included from hamsi.c:3:
hamsi.c: hamsi.h:12:11: note: at offset [5, 7] into destination object 'buffer' of size 4
hamsi.c: 12 | uint8_t buffer[4];
hamsi.c: | ^~~~~~

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

Compiler output

Implementation: T:simd-2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hamsi.c: hamsi.c: In function 'Update':
hamsi.c: hamsi.c:270:38: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
hamsi.c: 270 | state->buffer[bufferbytes + i] = data[i];
hamsi.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
hamsi.c: In file included from hamsi.c:3:
hamsi.c: hamsi.h:12:11: note: at offset [5, 7] into destination object 'buffer' of size 4
hamsi.c: 12 | uint8_t buffer[4];
hamsi.c: | ^~~~~~

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:simd-2

Compiler output

Implementation: T:sphlib
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hamsi.c: hamsi.c:111:10: fatal error: hamsi_helper.c: No such file or directory
hamsi.c: 111 | #include "hamsi_helper.c"
hamsi.c: | ^~~~~~~~~~~~~~~~
hamsi.c: compilation terminated.

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