Implementation notes: aarch64, pi4b, crypto_aead/romulusm

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: romulusm
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6987669688 0 022183 808 848aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
69883610852 0 024336 816 864aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
6988679432 0 021872 816 848aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
6990729276 0 020712 800 840aadomn/armv8a/ontheflygcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
79679711024 0 024488 816 864aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
7973179596 0 022032 816 848aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
7996319368 0 020824 800 840aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
8006219820 0 022343 808 848aadomn/armv8a/precalculategcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
138576828920 640 043102 1480 856aadomn/opt32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
180362019832 640 032552 1456 848aadomn/opt32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
218814015920 12 030318 852 856T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
282438422372 12 036016 828 864T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
90706948140 12 020696 828 848T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
106569586220 12 017744 812 840T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
108367267256 12 019831 820 848T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808

Test failure


error 111
crypto_aead_decrypt returns nonzero

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:fixslice_opt32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:fixslice_opt32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fixslice_opt32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fixslice_opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fixslice_opt32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Test failure


error 111
crypto_aead_decrypt allows trivial forgeries

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:opt32tclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opt32tgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opt32tgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opt32tgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opt32tgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/armv8a/ontheflyclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
aadomn/armv8a/precalculateclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


tk_schedule.c: tk_schedule.c:377:14: warning: argument 1 of type 'uint32_t[64]' {aka 'unsigned int[64]'} with mismatched bound [-Warray-parameter=]
tk_schedule.c:   377 |     uint32_t rtk_1[TKPERMORDER*BLOCKBYTES/4],
tk_schedule.c:       |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tk_schedule.c: In file included from tk_schedule.c:17:
tk_schedule.c: tk_schedule.h:40:31: note: previously declared as 'uint32_t *' {aka 'unsigned int *'}
tk_schedule.c:    40 | void tk_schedule_13(uint32_t *rtk_1, uint32_t *rtk_3,
tk_schedule.c:       |                     ~~~~~~~~~~^~~~~
tk_schedule.c: tk_schedule.c:378:14: warning: argument 2 of type 'uint32_t[160]' {aka 'unsigned int[160]'} with mismatched bound [-Warray-parameter=]
tk_schedule.c:   378 |     uint32_t rtk_3[SKINNY128_384_ROUNDS*BLOCKBYTES/4],
tk_schedule.c:       |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tk_schedule.c: In file included from tk_schedule.c:17:
tk_schedule.c: tk_schedule.h:40:48: note: previously declared as 'uint32_t *' {aka 'unsigned int *'}
tk_schedule.c:    40 | void tk_schedule_13(uint32_t *rtk_1, uint32_t *rtk_3,
tk_schedule.c:       |                                      ~~~~~~~~~~^~~~~
tk_schedule.c: tk_schedule.c:379:19: warning: argument 3 of type 'const uint8_t[16]' {aka 'const unsigned char[16]'} with mismatched bound [-Warray-parameter=]
tk_schedule.c:   379 |     const uint8_t tk_1[TWEAKEYBYTES],
tk_schedule.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
tk_schedule.c: In file included from tk_schedule.c:17:
tk_schedule.c: tk_schedule.h:41:20: note: previously declared as 'const uint8_t *' {aka 'const unsigned char *'}
tk_schedule.c:    41 |     const uint8_t *tk_1,
tk_schedule.c:       |     ~~~~~~~~~~~~~~~^~~~
tk_schedule.c: tk_schedule.c:380:19: warning: argument 4 of type 'const uint8_t[16]' {aka 'const unsigned char[16]'} with mismatched bound [-Warray-parameter=]
tk_schedule.c:   380 |     const uint8_t tk_3[TWEAKEYBYTES])
tk_schedule.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
tk_schedule.c: In file included from tk_schedule.c:17:
tk_schedule.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
aadomn/opt32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/opt32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/opt32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


romulus_m.o romulusm_generate_tag T
romulus_m.o romulusm_init T
romulus_m.o romulusm_process_ad T
romulus_m.o romulusm_process_msg T
romulus_m.o romulusm_verify_tag T
skinny128.o skinny128_384_plus T

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
aadomn/armv8a/ontheflygcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/ontheflygcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/ontheflygcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/ontheflygcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


romulus_m.o romulusm_generate_tag T
romulus_m.o romulusm_init T
romulus_m.o romulusm_process_ad T
romulus_m.o romulusm_process_msg T
romulus_m.o romulusm_verify_tag T
romulus_m.o zeroize T
skinny128.o skinny128_384_plus T
skinny128.o tk_schedule_23 T

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
aadomn/armv8a/precalculategcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


romulus_m.o romulusm_generate_tag T
romulus_m.o romulusm_init T
romulus_m.o romulusm_process_ad T
romulus_m.o romulusm_process_msg T
romulus_m.o romulusm_verify_tag T
romulus_m.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 (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
aadomn/opt32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
aadomn/opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


romulus_m_reference.o ad2msg_encryption T
romulus_m_reference.o ad_encryption T
romulus_m_reference.o block_cipher T
romulus_m_reference.o compose_tweakey T
romulus_m_reference.o g8A T
romulus_m_reference.o generate_tag T
romulus_m_reference.o irho T
romulus_m_reference.o lfsr_gf56 T
romulus_m_reference.o msg_decryption T
romulus_m_reference.o msg_encryption T
romulus_m_reference.o nonce_encryption T
romulus_m_reference.o pad T
romulus_m_reference.o reset_lfsr_gf56 T
romulus_m_reference.o rho T
romulus_m_reference.o rho_ad T
romulus_m_reference.o romulus_m_decrypt T
romulus_m_reference.o romulus_m_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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 10, namely:
ImplementationCompiler
aadomn/armv8a/ontheflygcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/ontheflygcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/ontheflygcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/ontheflygcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/armv8a/precalculategcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
aadomn/opt32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
aadomn/opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)