Implementation notes: aarch64, pi3aplus, crypto_aead/romulusn

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240425
Operation: crypto_aead
Primitive: romulusn
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2986808612 0 020455 856 848aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
30063410628 0 023760 864 864aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
3068119004 0 021023 856 848aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
3078688372 0 019415 840 840aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
38686310612 0 023736 864 864aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
3880238580 0 020415 856 848aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
3884168340 0 019351 840 840aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
3918488948 0 020951 856 848aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
48514611440 592 024672 1480 864T:opt32tgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
4966697508 592 019495 1464 848T:opt32tgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
6150958140 592 021669 1376 856T:opt32tclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
7262486596 592 017759 1448 840T:opt32tgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
9859397860 592 020023 1464 848T:opt32tgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
120999226208 640 039733 1408 856T:fixslice_opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
121210825824 640 039341 1408 856aadomn/opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
133107625024 640 038296 1512 864aadomn/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
134367125416 640 038624 1512 864T:fixslice_opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
183529416780 640 028840 1504 848aadomn/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
183563617200 640 029200 1504 848T:fixslice_opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
209654216856 640 028040 1488 840T:fixslice_opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
210631216436 640 027680 1488 840aadomn/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
237031119176 640 031416 1504 848aadomn/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
239573119960 640 032136 1504 848T:fixslice_opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
289085218892 12 032168 876 864T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
391121210420 12 023805 780 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
161854745452 12 017399 868 848T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
176900125068 12 017183 868 848T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
180472664172 12 015287 852 840T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425

Compiler output

Implementation: aadomn/armv8a/onthefly
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skinny128.S: <instantiation>:1:11: error: literal value out of range for directive
skinny128.S: ldr q20, =0x0b0c0e0a0d080f090304060205000701
skinny128.S: ^
skinny128.S: skinny128.S:156:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:2:12: error: literal value out of range for directive
skinny128.S: ldr q21, =0x00000000000000020000000000000000
skinny128.S: ^
skinny128.S: skinny128.S:156:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:3:6: error: invalid operand for instruction
skinny128.S: ldr q22, =0x00000000000000000000000000000000
skinny128.S: ^
skinny128.S: skinny128.S:156:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:4:12: error: literal value out of range for directive
skinny128.S: ldr q23, =0x09080b0a06050407030201000c0f0e0d
skinny128.S: ^
skinny128.S: skinny128.S:156:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:5:12: error: literal value out of range for directive
skinny128.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aadomn/armv8a/onthefly

Compiler output

Implementation: aadomn/armv8a/precalculate
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skinny128.S: <instantiation>:1:11: error: literal value out of range for directive
skinny128.S: ldr q21, =0x00000000000000020000000000000000
skinny128.S: ^
skinny128.S: skinny128.S:113:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:2:12: error: literal value out of range for directive
skinny128.S: ldr q22, =0x0f0e0d0c0a0b09080304060205000701
skinny128.S: ^
skinny128.S: skinny128.S:113:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:3:12: error: literal value out of range for directive
skinny128.S: ldr q23, =0x09080b0a06050407030201000c0f0e0d
skinny128.S: ^
skinny128.S: skinny128.S:113:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:4:12: error: literal value out of range for directive
skinny128.S: ldr q24, =0x0302010009080b0a1010101009080b0a
skinny128.S: ^
skinny128.S: skinny128.S:113:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:6:12: error: literal value out of range for directive
skinny128.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aadomn/armv8a/precalculate

Namespace violations

Implementation: aadomn/armv8a/onthefly
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
romulus_n.o romulusn_generate_tag T
romulus_n.o romulusn_init T
romulus_n.o romulusn_process_ad T
romulus_n.o romulusn_process_msg T
romulus_n.o romulusn_verify_tag T
skinny128.o skinny128_384_plus T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/onthefly
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/onthefly
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/onthefly
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/onthefly

Namespace violations

Implementation: aadomn/armv8a/precalculate
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
romulus_n.o romulusn_generate_tag T
romulus_n.o romulusn_init T
romulus_n.o romulusn_process_ad T
romulus_n.o romulusn_process_msg T
romulus_n.o romulusn_verify_tag T
romulus_n.o zeroize T
skinny128.o skinny128_384_plus T
skinny128.o tk_schedule_23 T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/precalculate
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/precalculate
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/precalculate
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/armv8a/precalculate

Namespace violations

Implementation: aadomn/opt32
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
romulus_n.o romulusn_generate_tag T
romulus_n.o romulusn_init T
romulus_n.o romulusn_process_ad T
romulus_n.o romulusn_process_msg T
romulus_n.o romulusn_verify_tag T
romulus_n.o zeroize T
skinny128.o mixcolumns_0 T
skinny128.o mixcolumns_1 T
skinny128.o mixcolumns_2 T
skinny128.o mixcolumns_3 T
skinny128.o skinny128_384_plus T
tk_schedule.o lfsr2_bs T
tk_schedule.o lfsr3_bs T
tk_schedule.o packing T
tk_schedule.o permute_tk T
tk_schedule.o permute_tk_10 T
tk_schedule.o permute_tk_12 T
tk_schedule.o permute_tk_14 T
tk_schedule.o permute_tk_2 T
tk_schedule.o permute_tk_4 T
tk_schedule.o permute_tk_6 T
tk_schedule.o permute_tk_8 T
tk_schedule.o precompute_lfsr_tk2 T
tk_schedule.o precompute_lfsr_tk3 T
tk_schedule.o rconst_32_bs D
tk_schedule.o tk_schedule_1 T
tk_schedule.o tk_schedule_123 T
tk_schedule.o tk_schedule_13 T
tk_schedule.o tk_schedule_23 T
tk_schedule.o unpacking T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aadomn/opt32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/opt32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/opt32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/opt32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aadomn/opt32

Namespace violations

Implementation: T:fixslice_opt32
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skinny128.o mixcolumns_0 T
skinny128.o mixcolumns_1 T
skinny128.o mixcolumns_2 T
skinny128.o mixcolumns_3 T
skinny128.o skinny128_384_plus T
tk_schedule.o lfsr2_bs T
tk_schedule.o lfsr3_bs T
tk_schedule.o packing T
tk_schedule.o permute_tk T
tk_schedule.o permute_tk_10 T
tk_schedule.o permute_tk_12 T
tk_schedule.o permute_tk_14 T
tk_schedule.o permute_tk_2 T
tk_schedule.o permute_tk_4 T
tk_schedule.o permute_tk_6 T
tk_schedule.o permute_tk_8 T
tk_schedule.o precompute_lfsr_tk2 T
tk_schedule.o precompute_lfsr_tk3 T
tk_schedule.o precompute_rtk1 T
tk_schedule.o precompute_rtk2_3 T
tk_schedule.o rconst_32_bs D
tk_schedule.o unpacking T

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

Namespace violations

Implementation: T:opt32t
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
common.o ad_encryption_eq16 T
common.o ad_encryption_eqov32 T
common.o ad_encryption_ov16 T
common.o ad_encryption_ud16 T
common.o block_cipher T
common.o g8A T
common.o g8A_for_Tag_Generation T
common.o generate_tag T
common.o lfsr_gf56 T
common.o msg_encryption_eqov16 T
common.o msg_encryption_ud16 T
common.o nonce_encryption T
common.o pad T
common.o reset_lfsr_gf56 T
common.o rho_ad_eqov16 T
common.o rho_ad_ud16 T
common.o rho_eqov16 T
common.o rho_ud16 T
decrypt.o irho_eqov16 T
decrypt.o irho_ud16 T
decrypt.o msg_decryption_eqov16 T
decrypt.o msg_decryption_ud16 T
skinny_key_schedule2.o RunEncryptionKeyScheduleTK2 T
skinny_key_schedule3.o RunEncryptionKeyScheduleTK3 T
skinny_main.o Encrypt T
skinny_main.o RC D
skinny_main.o SBOX D
skinny_main.o SBOX2 D
skinny_main.o skinny_128_384_enc123_12 T
skinny_main.o skinny_128_384_enc12_12 T
skinny_main.o skinny_128_384_enc1_1 T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
romulus_n_reference.o ad_encryption T
romulus_n_reference.o block_cipher T
romulus_n_reference.o compose_tweakey T
romulus_n_reference.o g8A T
romulus_n_reference.o generate_tag T
romulus_n_reference.o irho T
romulus_n_reference.o lfsr_gf56 T
romulus_n_reference.o msg_encryption T
romulus_n_reference.o nonce_encryption T
romulus_n_reference.o pad T
romulus_n_reference.o reset_lfsr_gf56 T
romulus_n_reference.o rho T
romulus_n_reference.o rho_ad T
romulus_n_reference.o romulus_n T
romulus_n_reference.o romulus_n_decrypt T
romulus_n_reference.o romulus_n_encrypt T
skinny_reference.o AddConstants T
skinny_reference.o AddKey T
skinny_reference.o BLOCK_SIZE D
skinny_reference.o MixColumn T
skinny_reference.o N_RNDS D
skinny_reference.o P R
skinny_reference.o RC R
skinny_reference.o ShiftRows T
skinny_reference.o SubCell8 T
skinny_reference.o TWEAKEY_P R
skinny_reference.o TWEAKEY_SIZE D
skinny_reference.o enc T
skinny_reference.o sbox_8 R
skinny_reference.o skinny_128_384_plus_enc T

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