Implementation notes: amd64, icelake2, crypto_hash/hamsi

Computer: icelake2
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20221005
Operation: crypto_hash
Primitive: hamsi
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2057610266 0 020154 772 896T:bernstein/small-simd-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2063110356 0 023482 772 960T:bernstein/small-simd-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2068410252 0 020972 764 960T:bernstein/small-simd-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2069138323 0 049044 764 960T:simd-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2084610356 0 023410 772 928T:bernstein/small-simd-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2092838348 0 051370 772 928T:simd-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2112538298 0 048186 772 896T:simd-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2152738332 0 051426 772 960T:simd-1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2159838301 0 049012 764 960T:simd-1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2185938332 0 051354 772 928T:simd-1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2197638282 0 048170 772 896T:simd-1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2235638348 0 051442 772 960T:simd-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
2904839420 0 049818 764 960T:simd-1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
2909339353 0 048313 740 928T:simd-1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
2946939788 0 050186 764 960T:simd-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
2962439756 0 052010 764 960T:simd-1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
2969939709 0 048665 740 928T:simd-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3009339423 0 049385 756 960T:simd-1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3115540124 0 052378 764 960T:simd-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3177239758 0 049721 756 960T:simd-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3225839960 0 051810 772 896T:simd-2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
3230211932 0 022362 764 960T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3356311880 0 020857 740 928T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3369611865 0 021857 756 960T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3374912388 0 024674 764 960T:bernstein/small-simd-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
3382412032 0 023914 772 896T:bernstein/small-simd-2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
3591739880 0 051730 772 896T:simd-1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506

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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hamsi.c: hamsi.c:111:10: fatal error: 'hamsi_helper.c' file not found
hamsi.c: #include "hamsi_helper.c"
hamsi.c: ^~~~~~~~~~~~~~~~
hamsi.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-small
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-small
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-small
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-small
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-small

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