Implementation notes: amd64, hertz, crypto_hash/photonbeetlehash256rate32v1

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: photonbeetlehash256rate32v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
31906712065 0 026522 844 968T:table2clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
33848070939 0 085242 844 968T:table3clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
34007312949 0 026629 804 1032T:table2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
34887171517 0 085978 844 968T:table3clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
37674272421 0 086101 804 1032T:table3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
52059410025 0 024330 844 968T:table2clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
5480349741 0 021365 804 968T:table2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
55217510428 0 021940 836 968T:table2clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
55399969133 0 080757 804 968T:table3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
55992168952 0 079160 780 936T:table3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
56158969889 0 081396 836 968T:table3clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
7028489549 0 019752 780 936T:table2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
8002436538 0 020970 844 968T:bitslice_sb64clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
8024736538 0 020842 844 968T:bitslice_sb64clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
8074377445 0 021898 844 968T:bitslice_sb32clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
8074397429 0 021754 844 968T:bitslice_sb32clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
8151396961 0 018532 836 968T:bitslice_sb64clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
8279197797 0 019412 836 968T:bitslice_sb32clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
9267346692 0 3218341 804 1000T:bitslice_sb64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
9337456348 0 020779 844 968T:bitslice_sb8clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
9411466348 0 020651 844 968T:bitslice_sb8clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
9671606654 0 018309 804 968T:bitslice_sb32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
10340076932 0 018532 836 968T:bitslice_sb8clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
10450156837 0 020549 804 1032T:bitslice_sb8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
10690246530 0 018149 804 968T:bitslice_sb8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
18871286854 0 017072 780 936T:bitslice_sb32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
19237017125 0 017368 780 936T:bitslice_sb8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
19440366615 0 3216840 780 968T:bitslice_sb64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
38051547144 16 1621724 876 1000T:refclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
41485894148 16 1618621 876 1000T:refclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217
222230628900 16 1222685 828 1064T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
317115352020 16 1212280 804 968T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
338509762764 16 1214477 828 1000T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
512480483671 16 1615324 860 1000T:refclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231217

Compiler output

Implementation: T:bitslice_sb32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:92:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb32_timingleaks' at hash.c:143:3:
hash.c: hash.c:56:27: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 56 | out_32[i] = in_left_32[i] ^ in_right_32[i];
hash.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb32_timingleaks':
hash.c: hash.c:123:17: note: at offset 32 into destination object 'State' of size 32
hash.c: 123 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:92:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb32_timingleaks' at hash.c:143:3:
hash.c: hash.c:56:27: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 56 | out_32[i] = in_left_32[i] ^ in_right_32[i];
hash.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb32_timingleaks':
hash.c: hash.c:123:17: note: at offset 36 into destination object 'State' of size 32
hash.c: 123 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:92:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb32_timingleaks' at hash.c:143:3:
hash.c: hash.c:56:27: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 56 | out_32[i] = in_left_32[i] ^ in_right_32[i];
hash.c: ...

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

Compiler output

Implementation: T:bitslice_sb64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:92:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb64_timingleaks' at hash.c:143:3:
hash.c: hash.c:56:27: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 56 | out_64[i] = in_left_64[i] ^ in_right_64[i];
hash.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb64_timingleaks':
hash.c: hash.c:123:17: note: at offset 32 into destination object 'State' of size 32
hash.c: 123 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:92:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb64_timingleaks' at hash.c:143:3:
hash.c: hash.c:56:27: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 56 | out_64[i] = in_left_64[i] ^ in_right_64[i];
hash.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb64_timingleaks':
hash.c: hash.c:123:17: note: at offset 40 into destination object 'State' of size 32
hash.c: 123 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:92:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb64_timingleaks' at hash.c:143:3:
hash.c: hash.c:56:27: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 56 | out_64[i] = in_left_64[i] ^ in_right_64[i];
hash.c: ...

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

Compiler output

Implementation: T:bitslice_sb8
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb8_timingleaks' at hash.c:129:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb8_timingleaks':
hash.c: hash.c:109:17: note: at offset 32 into destination object 'State' of size 32
hash.c: 109 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb8_timingleaks' at hash.c:129:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_bitslice_sb8_timingleaks':
hash.c: hash.c:109:17: note: at offset [64, 96] into destination object 'State' of size 32
hash.c: 109 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_ref_timingleaks' at hash.c:135:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_ref_timingleaks':
hash.c: hash.c:115:17: note: at offset 32 into destination object 'State' of size 32
hash.c: 115 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_ref_timingleaks' at hash.c:135:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_ref_timingleaks':
hash.c: hash.c:115:17: note: at offset [64, 96] into destination object 'State' of size 32
hash.c: 115 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~

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

Compiler output

Implementation: T:table2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_table2_timingleaks' at hash.c:128:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_table2_timingleaks':
hash.c: hash.c:108:17: note: at offset 32 into destination object 'State' of size 32
hash.c: 108 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_table2_timingleaks' at hash.c:128:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_table2_timingleaks':
hash.c: hash.c:108:17: note: at offset [64, 96] into destination object 'State' of size 32
hash.c: 108 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~

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

Compiler output

Implementation: T:table3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_table3_timingleaks' at hash.c:128:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_table3_timingleaks':
hash.c: hash.c:108:17: note: at offset 32 into destination object 'State' of size 32
hash.c: 108 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~
hash.c: In function 'XOR',
hash.c: inlined from 'HASH' at hash.c:77:2,
hash.c: inlined from 'crypto_hash_photonbeetlehash256rate32v1_table3_timingleaks' at hash.c:128:3:
hash.c: hash.c:49:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
hash.c: 49 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
hash.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c: In function 'crypto_hash_photonbeetlehash256rate32v1_table3_timingleaks':
hash.c: hash.c:108:17: note: at offset [64, 96] into destination object 'State' of size 32
hash.c: 108 | uint8_t State[STATE_INBYTES] = { 0 };
hash.c: | ^~~~~

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