Test results for aarch64, pi3aplus, crypto_sign/picnicl5ur
[Page version: 20250510 09:23:11]
Measurements for aarch64, pi3aplus, crypto_sign
Test results for aarch64, pi3aplus, crypto_sign
Test results for crypto_sign/picnicl5ur
Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20250415
Operation: crypto_sign
Primitive: picnicl5ur
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
219794454 | 165070 960 0 | 241327 1792 1584 | optimizedct/neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
225417980 | 160534 960 0 | 236415 1792 1584 | optimizedct/neon | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
235071626 | 160978 960 0 | 237119 1792 1584 | optimizedct/c | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
266178086 | 161250 960 0 | 237087 1792 1568 | optimizedct/neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
268207114 | 156488 960 0 | 231319 1776 1568 | optimizedct/neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
328033208 | 157954 960 0 | 233711 1792 1584 | optimizedct/c | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
364327876 | 158610 960 0 | 234311 1792 1568 | optimizedct/c | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
478898442 | 154020 960 0 | 228735 1776 1568 | optimizedct/c | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
3191996520 | 1274950 4 0 | 1347956 840 1584 | T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
3197540298 | 1265546 4 0 | 1337708 840 1584 | T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250505 | 20250415 |
4511543752 | 1262316 4 0 | 1334460 840 1568 | T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250505 | 20250415 |
4523819938 | 1257655 4 0 | 1328708 824 1568 | T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250504 | 20250415 |
Compiler output
hash.c: hash.c: In function 'HashUpdate':
hash.c: hash.c:23:16: warning: unused variable 'ret' [-Wunused-variable]
hash.c: 23 | HashReturn ret = Keccak_HashUpdate(ctx, data, byteLen * 8);
hash.c: | ^~~
hash.c: hash.c: In function 'HashFinal':
hash.c: hash.c:42:16: warning: unused variable 'ret' [-Wunused-variable]
hash.c: 42 | HashReturn ret = Keccak_HashFinal(ctx, NULL);
hash.c: | ^~~
hash.c: hash.c: In function 'HashSqueeze':
hash.c: hash.c:48:16: warning: unused variable 'ret' [-Wunused-variable]
hash.c: 48 | HashReturn ret = Keccak_HashSqueeze(ctx, digest, byteLen * 8);
hash.c: | ^~~
picnic_impl.c: picnic_impl.c: In function 'mpc_LowMC_verify':
picnic_impl.c: picnic_impl.c:533:5: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: 533 | mpc_matrix_mul(roundKey, keyShares, KMatrix(0, params), params, 2);
picnic_impl.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:533:5: note: referencing argument 1 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:533:5: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: picnic_impl.c:533:5: note: referencing argument 2 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:506:6: note: in a call to function 'mpc_matrix_mul'
picnic_impl.c: 506 | void mpc_matrix_mul(uint32_t* output[3], uint32_t* state[3], const uint32_t* matrix,
picnic_impl.c: | ^~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:534:5: warning: 'mpc_xor' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: 534 | mpc_xor(state, roundKey, params->stateSizeWords, 2);
picnic_impl.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:534:5: note: referencing argument 1 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:534:5: warning: 'mpc_xor' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: picnic_impl.c:534:5: note: referencing argument 2 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:260:6: note: in a call to function 'mpc_xor'
picnic_impl.c: 260 | void mpc_xor(uint32_t* state[3], uint32_t* in[3], uint32_t len, int players)
picnic_impl.c: | ^~~~~~~
picnic_impl.c: picnic_impl.c:537:9: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: 537 | mpc_matrix_mul(roundKey, keyShares, KMatrix(r, params), params, 2);
picnic_impl.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:537:9: note: referencing argument 1 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:537:9: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: picnic_impl.c:537:9: note: referencing argument 2 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Namespace violations
KeccakHashtimes4.o Keccak_HashFinaltimes4 T
KeccakHashtimes4.o Keccak_HashInitializetimes4 T
KeccakHashtimes4.o Keccak_HashSqueezetimes4 T
KeccakHashtimes4.o Keccak_HashUpdatetimes4 T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeAbsorb T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeAbsorbLastFewBits T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeInitialize T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeSqueeze T
compat.o picnic_explicit_bzero T
compat.o picnic_timingsafe_bcmp T
io.o mzd_from_char_array T
io.o mzd_to_char_array T
lowmc.o lowmc_compute T
lowmc.o lowmc_record_state T
lowmc_256_256_38.o lowmc_256_256_38 D
mpc_lowmc.o get_zkbpp_lowmc_implementation T
mpc_lowmc.o get_zkbpp_lowmc_verify_implementation T
mpc_lowmc.o get_zkbpp_share_implentation T
mzd_additional.o mzd_addmul_v_uint64_128 T
mzd_additional.o mzd_addmul_v_uint64_129 T
mzd_additional.o mzd_addmul_v_uint64_192 T
mzd_additional.o mzd_addmul_v_uint64_256 T
mzd_additional.o mzd_addmul_v_uint64_30_256 T
mzd_additional.o mzd_and_uint64_128 T
mzd_additional.o mzd_and_uint64_192 T
mzd_additional.o mzd_and_uint64_256 T
mzd_additional.o mzd_copy_uint64_128 T
mzd_additional.o mzd_copy_uint64_192 T
mzd_additional.o mzd_copy_uint64_256 T
mzd_additional.o mzd_local_init_ex T
mzd_additional.o mzd_mul_v_parity_uint64_256_30 T
mzd_additional.o mzd_mul_v_uint64_128 T
mzd_additional.o mzd_mul_v_uint64_129 T
mzd_additional.o mzd_mul_v_uint64_192 T
mzd_additional.o mzd_mul_v_uint64_256 T
mzd_additional.o mzd_mul_v_uint64_256_1216 T
mzd_additional.o mzd_shift_left_uint64_128 T
mzd_additional.o mzd_shift_left_uint64_192 T
mzd_additional.o mzd_shift_left_uint64_256 T
mzd_additional.o mzd_shift_right_uint64_128 T
mzd_additional.o mzd_shift_right_uint64_192 T
mzd_additional.o mzd_shift_right_uint64_256 T
mzd_additional.o mzd_shuffle_256_30 T
mzd_additional.o mzd_xor_uint64_1216 T
mzd_additional.o mzd_xor_uint64_128 T
mzd_additional.o mzd_xor_uint64_192 T
mzd_additional.o mzd_xor_uint64_256 T
picnic.o picnic_clear_private_key T
picnic.o picnic_get_lowmc_block_size T
picnic.o picnic_get_param_name T
picnic.o picnic_get_private_key_param T
picnic.o picnic_get_private_key_size T
picnic.o picnic_get_public_key_param T
picnic.o picnic_get_public_key_size T
picnic.o picnic_keygen T
picnic.o picnic_read_private_key T
picnic.o picnic_read_public_key T
picnic.o picnic_sign T
picnic.o picnic_signature_size T
picnic.o picnic_sk_to_pk T
picnic.o picnic_validate_keypair T
picnic.o picnic_verify T
picnic.o picnic_write_private_key T
picnic.o picnic_write_public_key T
picnic_impl.o picnic_impl_sign T
picnic_impl.o picnic_impl_verify T
picnic_instances.o picnic_instance_get T
randomness.o rand_bits T
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
optimizedct/c | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/c | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/c | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/c | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Namespace violations
KeccakHashtimes4.o Keccak_HashFinaltimes4 T
KeccakHashtimes4.o Keccak_HashInitializetimes4 T
KeccakHashtimes4.o Keccak_HashSqueezetimes4 T
KeccakHashtimes4.o Keccak_HashUpdatetimes4 T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeAbsorb T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeAbsorbLastFewBits T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeInitialize T
KeccakSpongetimes4.o KeccakWidth1600times4_SpongeSqueeze T
compat.o picnic_explicit_bzero T
compat.o picnic_timingsafe_bcmp T
io.o mzd_from_char_array T
io.o mzd_to_char_array T
lowmc.o lowmc_compute T
lowmc.o lowmc_record_state T
lowmc_256_256_38.o lowmc_256_256_38 D
mpc_lowmc.o get_zkbpp_lowmc_implementation T
mpc_lowmc.o get_zkbpp_lowmc_verify_implementation T
mpc_lowmc.o get_zkbpp_share_implentation T
mzd_additional.o mzd_addmul_v_s128_128 T
mzd_additional.o mzd_addmul_v_s128_129 T
mzd_additional.o mzd_addmul_v_s128_192 T
mzd_additional.o mzd_addmul_v_s128_256 T
mzd_additional.o mzd_addmul_v_s128_30_256 T
mzd_additional.o mzd_addmul_v_uint64_128 T
mzd_additional.o mzd_addmul_v_uint64_129 T
mzd_additional.o mzd_addmul_v_uint64_192 T
mzd_additional.o mzd_addmul_v_uint64_256 T
mzd_additional.o mzd_addmul_v_uint64_30_256 T
mzd_additional.o mzd_and_s128_128 T
mzd_additional.o mzd_and_s128_256 T
mzd_additional.o mzd_and_uint64_128 T
mzd_additional.o mzd_and_uint64_192 T
mzd_additional.o mzd_and_uint64_256 T
mzd_additional.o mzd_copy_s128_128 T
mzd_additional.o mzd_copy_s128_256 T
mzd_additional.o mzd_copy_uint64_128 T
mzd_additional.o mzd_copy_uint64_192 T
mzd_additional.o mzd_copy_uint64_256 T
mzd_additional.o mzd_local_init_ex T
mzd_additional.o mzd_mul_v_parity_uint64_256_30 T
mzd_additional.o mzd_mul_v_s128_128 T
mzd_additional.o mzd_mul_v_s128_129 T
mzd_additional.o mzd_mul_v_s128_192 T
mzd_additional.o mzd_mul_v_s128_256 T
mzd_additional.o mzd_mul_v_s128_256_1280 T
mzd_additional.o mzd_mul_v_uint64_128 T
mzd_additional.o mzd_mul_v_uint64_129 T
mzd_additional.o mzd_mul_v_uint64_192 T
mzd_additional.o mzd_mul_v_uint64_256 T
mzd_additional.o mzd_mul_v_uint64_256_1216 T
mzd_additional.o mzd_shift_left_uint64_128 T
mzd_additional.o mzd_shift_left_uint64_192 T
mzd_additional.o mzd_shift_left_uint64_256 T
mzd_additional.o mzd_shift_right_uint64_128 T
mzd_additional.o mzd_shift_right_uint64_192 T
mzd_additional.o mzd_shift_right_uint64_256 T
mzd_additional.o mzd_shuffle_256_30 T
mzd_additional.o mzd_xor_s128_128 T
mzd_additional.o mzd_xor_s128_1280 T
mzd_additional.o mzd_xor_s128_256 T
mzd_additional.o mzd_xor_uint64_1216 T
mzd_additional.o mzd_xor_uint64_128 T
mzd_additional.o mzd_xor_uint64_192 T
mzd_additional.o mzd_xor_uint64_256 T
picnic.o picnic_clear_private_key T
picnic.o picnic_get_lowmc_block_size T
picnic.o picnic_get_param_name T
picnic.o picnic_get_private_key_param T
picnic.o picnic_get_private_key_size T
picnic.o picnic_get_public_key_param T
picnic.o picnic_get_public_key_size T
picnic.o picnic_keygen T
picnic.o picnic_read_private_key T
picnic.o picnic_read_public_key T
picnic.o picnic_sign T
picnic.o picnic_signature_size T
picnic.o picnic_sk_to_pk T
picnic.o picnic_validate_keypair T
picnic.o picnic_verify T
picnic.o picnic_write_private_key T
picnic.o picnic_write_public_key T
picnic_impl.o picnic_impl_sign T
picnic_impl.o picnic_impl_verify T
picnic_instances.o picnic_instance_get T
randomness.o rand_bits T
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
optimizedct/neon | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Namespace violations
api.o params D
hash.o HashFinal T
hash.o HashInit T
hash.o HashSqueeze T
hash.o HashUpdate T
hash.o HashUpdateIntLE T
hash.o fromLittleEndian T
hash.o toLittleEndian T
lowmc_constants.o KMatrix T
lowmc_constants.o KMatrixInv T
lowmc_constants.o LMatrix T
lowmc_constants.o LMatrixInv T
lowmc_constants.o RConstant T
picnic.o get_param_set T
picnic.o get_transform T
picnic.o is_picnic3 T
picnic.o picnic_get_param_name T
picnic.o picnic_keygen T
picnic.o picnic_read_private_key T
picnic.o picnic_read_public_key T
picnic.o picnic_sign T
picnic.o picnic_signature_size T
picnic.o picnic_validate_keypair T
picnic.o picnic_verify T
picnic.o picnic_write_private_key T
picnic.o picnic_write_public_key T
picnic.o print_signature T
picnic3_impl.o ceil_log2 T
picnic3_impl.o deserializeSignature2 T
picnic3_impl.o serializeSignature2 T
picnic3_impl.o sign_picnic3 T
picnic3_impl.o verify_picnic3 T
picnic_impl.o Commit T
picnic_impl.o G T
picnic_impl.o H3 T
picnic_impl.o LowMCEnc T
picnic_impl.o arePaddingBitsZero T
picnic_impl.o computeSeeds T
picnic_impl.o createRandomTape T
picnic_impl.o deserializeSignature T
picnic_impl.o getBit T
picnic_impl.o getBitFromWordArray T
picnic_impl.o getChallenge T
picnic_impl.o matrix_mul T
picnic_impl.o mpc_AND T
picnic_impl.o mpc_AND_verify T
picnic_impl.o mpc_LowMC T
picnic_impl.o mpc_LowMC_verify T
picnic_impl.o mpc_matrix_mul T
picnic_impl.o mpc_substitution T
picnic_impl.o mpc_substitution_verify T
picnic_impl.o mpc_xor T
picnic_impl.o mpc_xor_constant T
picnic_impl.o mpc_xor_constant_verify T
picnic_impl.o numBytes T
picnic_impl.o parity T
picnic_impl.o printHex T
picnic_impl.o prove T
picnic_impl.o random_bytes_supercop T
picnic_impl.o serializeSignature T
picnic_impl.o setBit T
picnic_impl.o setBitInWordArray T
picnic_impl.o setChallenge T
picnic_impl.o sign_picnic1 T
picnic_impl.o verify T
picnic_impl.o verifyProof T
picnic_impl.o xor_array T
picnic_impl.o xor_three T
picnic_impl.o zeroTrailingBits T
picnic_types.o allocateCommitments T
picnic_types.o allocateCommitments2 T
picnic_types.o allocateGCommitments T
picnic_types.o allocateInputs T
picnic_types.o allocateMsgs T
picnic_types.o allocateProof T
picnic_types.o allocateProof2 T
picnic_types.o allocateRandomTape T
picnic_types.o allocateSeeds T
picnic_types.o allocateShares T
picnic_types.o allocateSignature T
picnic_types.o allocateSignature2 T
picnic_types.o allocateView T
picnic_types.o allocateViews T
picnic_types.o freeCommitments T
picnic_types.o freeCommitments2 T
picnic_types.o freeGCommitments T
picnic_types.o freeInputs T
picnic_types.o freeMsgs T
picnic_types.o freeProof T
picnic_types.o freeProof2 T
picnic_types.o freeRandomTape T
picnic_types.o freeSeeds T
picnic_types.o freeShares T
picnic_types.o freeSignature T
picnic_types.o freeSignature2 T
picnic_types.o freeView T
picnic_types.o freeViews T
picnic_types.o getTapeSizeBytes T
tree.o addMerkleNodes T
tree.o buildMerkleTree T
tree.o createTree T
tree.o exists T
tree.o expandSeeds T
tree.o freeTree T
tree.o generateSeeds T
tree.o getLeaf T
tree.o getLeaves T
tree.o getParent T
tree.o getSibling T
tree.o hasLeftChild T
tree.o hasRightChild T
tree.o hasSibling T
tree.o hashSeed T
tree.o isLeafNode T
tree.o isLeftChild T
tree.o openMerkleTree T
tree.o openMerkleTreeSize T
tree.o printLeaves T
tree.o printSeeds T
tree.o reconstructSeeds T
tree.o revealSeeds T
tree.o revealSeedsSize T
tree.o verifyMerkleTree T
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 8, namely:
Implementation | Compiler |
optimizedct/c | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/c | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/c | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/c | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
optimizedct/neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |