Implementation notes: amd64, hertz, crypto_aead/photonbeetleaead128rate32v1

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: photonbeetleaead128rate32v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
128680214871 0 032962 860 1096T:table2clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
136809973745 0 091618 860 1096T:table3clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
138206674323 0 092418 860 1096T:table3clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
207444812831 0 030770 860 1096T:table2clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
221329172005 0 087052 852 1096T:table3clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
223659811662 0 027029 820 1096T:table2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
226052870233 0 083944 796 1064T:table3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
227431571054 0 086421 820 1096T:table3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
228754812544 0 027596 852 1096T:table2clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
283411810830 0 024536 796 1064T:table2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
32023899706 0 027682 860 1096T:bitslice_sb64clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
32088389706 0 027554 860 1096T:bitslice_sb64clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
325824510764 0 028626 860 1096T:bitslice_sb32clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
326060210764 0 028754 860 1096T:bitslice_sb32clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
32654369213 0 024268 852 1096T:bitslice_sb64clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
333510910033 0 025116 852 1096T:bitslice_sb32clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
37363418617 0 3223973 820 1128T:bitslice_sb64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
39396788663 0 024037 820 1096T:bitslice_sb32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
76141588103 0 021808 796 1064T:bitslice_sb32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
78521187864 0 3221560 796 1096T:bitslice_sb64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
153041119478 16 1627604 892 1128T:refclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
165923596153 16 1624181 892 1128T:refclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
1209458023332 16 1217088 820 1096T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
1363319234347 16 1219797 844 1128T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
2060589343981 16 1619124 876 1128T:refclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217

Compiler output

Implementation: T:bitslice_sb32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:205:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb32_timingleaks_encrypt' at encrypt.c:292:18:
encrypt.c: encrypt.c:103:27: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 103 | out_32[i] = in_left_32[i] ^ in_right_32[i];
encrypt.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb32_timingleaks_encrypt':
encrypt.c: encrypt.c:273:17: note: at offset 32 into destination object 'State' of size 32
encrypt.c: 273 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:205:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb32_timingleaks_encrypt' at encrypt.c:292:18:
encrypt.c: encrypt.c:103:27: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 103 | out_32[i] = in_left_32[i] ^ in_right_32[i];
encrypt.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb32_timingleaks_encrypt':
encrypt.c: encrypt.c:273:17: note: at offset 36 into destination object 'State' of size 32
encrypt.c: 273 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:205:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb32_timingleaks_encrypt' at encrypt.c:292:18:
encrypt.c: encrypt.c:103:27: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 103 | out_32[i] = in_left_32[i] ^ in_right_32[i];
encrypt.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
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:202:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb64_timingleaks_encrypt' at encrypt.c:290:18:
encrypt.c: encrypt.c:103:27: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 103 | out_64[i] = in_left_64[i] ^ in_right_64[i];
encrypt.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb64_timingleaks_encrypt':
encrypt.c: encrypt.c:271:17: note: at offset 32 into destination object 'State' of size 32
encrypt.c: 271 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:202:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb64_timingleaks_encrypt' at encrypt.c:290:18:
encrypt.c: encrypt.c:103:27: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 103 | out_64[i] = in_left_64[i] ^ in_right_64[i];
encrypt.c: | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb64_timingleaks_encrypt':
encrypt.c: encrypt.c:271:17: note: at offset 40 into destination object 'State' of size 32
encrypt.c: 271 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:202:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_bitslice_sb64_timingleaks_encrypt' at encrypt.c:290:18:
encrypt.c: encrypt.c:103:27: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 103 | out_64[i] = in_left_64[i] ^ in_right_64[i];
encrypt.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:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'rhoohr' at encrypt.c:159:3,
encrypt.c: inlined from 'rhoohr' at encrypt.c:148:13,
encrypt.c: inlined from 'ENCorDEC' at encrypt.c:211:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_ref_timingleaks_encrypt' at encrypt.c:281:18:
encrypt.c: encrypt.c:97:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 97 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
encrypt.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:263:17: note: at offset 32 into destination object 'State' of size 32
encrypt.c: 263 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'rhoohr' at encrypt.c:159:3,
encrypt.c: inlined from 'rhoohr' at encrypt.c:148:13,
encrypt.c: inlined from 'ENCorDEC' at encrypt.c:211:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_ref_timingleaks_encrypt' at encrypt.c:281:18:
encrypt.c: encrypt.c:97:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 97 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
encrypt.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:263:17: note: at offset [64, 96] into destination object 'State' of size 32
encrypt.c: 263 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.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
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:183:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_table2_timingleaks_encrypt' at encrypt.c:271:18:
encrypt.c: encrypt.c:98:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 98 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
encrypt.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_table2_timingleaks_encrypt':
encrypt.c: encrypt.c:252:17: note: at offset 32 into destination object 'State' of size 32
encrypt.c: 252 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:183:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_table2_timingleaks_encrypt' at encrypt.c:271:18:
encrypt.c: encrypt.c:98:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 98 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
encrypt.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_table2_timingleaks_encrypt':
encrypt.c: encrypt.c:252:17: note: at offset [64, 96] into destination object 'State' of size 32
encrypt.c: 252 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'rhoohr' at encrypt.c:157:3,
encrypt.c: inlined from 'rhoohr' at encrypt.c:146:20,
encrypt.c: inlined from 'ENCorDEC' at encrypt.c:209:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_table2_timingleaks_encrypt' at encrypt.c:272:18:
encrypt.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
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:183:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_table3_timingleaks_encrypt' at encrypt.c:272:18:
encrypt.c: encrypt.c:98:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 98 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
encrypt.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_table3_timingleaks_encrypt':
encrypt.c: encrypt.c:253:17: note: at offset 32 into destination object 'State' of size 32
encrypt.c: 253 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'HASH' at encrypt.c:183:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_table3_timingleaks_encrypt' at encrypt.c:272:18:
encrypt.c: encrypt.c:98:52: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
encrypt.c: 98 | for (i = 0; i < iolen_inbytes; i++) out[i] = in_left[i] ^ in_right[i];
encrypt.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_photonbeetleaead128rate32v1_table3_timingleaks_encrypt':
encrypt.c: encrypt.c:253:17: note: at offset [64, 96] into destination object 'State' of size 32
encrypt.c: 253 | uint8_t State[STATE_INBYTES] = { 0 };
encrypt.c: | ^~~~~
encrypt.c: In function 'XOR',
encrypt.c: inlined from 'rhoohr' at encrypt.c:157:3,
encrypt.c: inlined from 'rhoohr' at encrypt.c:146:20,
encrypt.c: inlined from 'ENCorDEC' at encrypt.c:209:2,
encrypt.c: inlined from 'crypto_aead_photonbeetleaead128rate32v1_table3_timingleaks_encrypt' at encrypt.c:273:18:
encrypt.c: ...

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