Implementation notes: aarch64, googlecoraldev, crypto_sign/picnicl3ur

Computer: googlecoraldev
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20191221
Operation: crypto_sign
Primitive: picnicl3ur
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
258477840134114 2696 16172914 3608 1608optimizedct/neonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010420191221
261085140139125 2576 16179737 3576 1624optimizedct/neongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
264853440129557 2576 16169017 3576 1608optimizedct/neongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
270389880132553 2576 16172977 3576 1624optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
272687580127826 2696 16166626 3608 1608optimizedct/cclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010420191221
280967580122717 2576 16161169 3560 1592optimizedct/neongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
294478560134357 2576 16173889 3576 1608optimizedct/neongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
304521300125785 2576 16165049 3576 1608optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
339992280127133 2576 16166409 3576 1608optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
342719820119373 2576 16157601 3560 1592optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
17466543001057946 4 01096543 984 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
18129915001045060 4 01082591 984 1592refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
20090971801044493 76 01082796 968 1592refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010420191221
23543395201041848 4 01079327 984 1592refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221
24156810001037321 4 01073703 968 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010420191221

Namespace violations

Implementation: optimizedct/c
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bitstream.o bitstream_get_bits T
bitstream.o bitstream_get_bits_32 T
bitstream.o bitstream_get_bits_8 T
bitstream.o bitstream_put_bits_32 T
bitstream.o bitstream_put_bits_8 T
io.o mzd_from_char_array T
io.o mzd_to_char_array T
lowmc.o lowmc_get_implementation T
lowmc.o lowmc_store_get_implementation T
lowmc_192_192_30.o lowmc_192_192_30 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_192 T
mzd_additional.o mzd_addmul_v_uint64_256 T
mzd_additional.o mzd_addmul_v_uint64_30_128 T
mzd_additional.o mzd_addmul_v_uint64_30_192 T
mzd_additional.o mzd_addmul_v_uint64_30_256 T
mzd_additional.o mzd_addmul_v_uint64_3_128 T
mzd_additional.o mzd_addmul_v_uint64_3_192 T
mzd_additional.o mzd_addmul_v_uint64_3_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_free T
mzd_additional.o mzd_local_free_multiple T
mzd_additional.o mzd_local_init_ex T
mzd_additional.o mzd_local_init_multiple_ex T
mzd_additional.o mzd_mul_v_parity_uint64_128_3 T
mzd_additional.o mzd_mul_v_parity_uint64_128_30 T
mzd_additional.o mzd_mul_v_parity_uint64_192_3 T
mzd_additional.o mzd_mul_v_parity_uint64_192_30 T
mzd_additional.o mzd_mul_v_parity_uint64_256_3 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_128_576 T
mzd_additional.o mzd_mul_v_uint64_128_640 T
mzd_additional.o mzd_mul_v_uint64_192 T
mzd_additional.o mzd_mul_v_uint64_192_896 T
mzd_additional.o mzd_mul_v_uint64_192_960 T
mzd_additional.o mzd_mul_v_uint64_256 T
mzd_additional.o mzd_mul_v_uint64_256_1152 T
mzd_additional.o mzd_mul_v_uint64_256_1216 T
mzd_additional.o mzd_shuffle_128_3 T
mzd_additional.o mzd_shuffle_128_30 T
mzd_additional.o mzd_shuffle_192_3 T
mzd_additional.o mzd_shuffle_192_30 T
mzd_additional.o mzd_shuffle_256_3 T
mzd_additional.o mzd_shuffle_256_30 T
mzd_additional.o mzd_xor_uint64_1152 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
mzd_additional.o mzd_xor_uint64_576 T
mzd_additional.o mzd_xor_uint64_640 T
mzd_additional.o mzd_xor_uint64_896 T
mzd_additional.o mzd_xor_uint64_960 T
picnic.o picnic_get_lowmc_block_size T
picnic.o picnic_get_param_name T
picnic.o picnic_get_private_key_size 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 impl_sign T
picnic_impl.o impl_verify T
picnic_instances.o HASH_PREFIX_0 R
picnic_instances.o HASH_PREFIX_1 R
picnic_instances.o HASH_PREFIX_2 R
picnic_instances.o HASH_PREFIX_3 R
picnic_instances.o HASH_PREFIX_4 R
picnic_instances.o HASH_PREFIX_5 R
picnic_instances.o picnic_instance_get T
randomness.o rand_bytes T

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

Namespace violations

Implementation: optimizedct/neon
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bitstream.o bitstream_get_bits T
bitstream.o bitstream_get_bits_32 T
bitstream.o bitstream_get_bits_8 T
bitstream.o bitstream_put_bits_32 T
bitstream.o bitstream_put_bits_8 T
io.o mzd_from_char_array T
io.o mzd_to_char_array T
lowmc.o lowmc_get_implementation T
lowmc.o lowmc_store_get_implementation T
lowmc_192_192_30.o lowmc_192_192_30 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_192 T
mzd_additional.o mzd_addmul_v_s128_256 T
mzd_additional.o mzd_addmul_v_s128_30_128 T
mzd_additional.o mzd_addmul_v_s128_30_192 T
mzd_additional.o mzd_addmul_v_s128_30_256 T
mzd_additional.o mzd_addmul_v_s128_3_128 T
mzd_additional.o mzd_addmul_v_s128_3_192 T
mzd_additional.o mzd_addmul_v_s128_3_256 T
mzd_additional.o mzd_addmul_v_uint64_128 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_128 T
mzd_additional.o mzd_addmul_v_uint64_30_192 T
mzd_additional.o mzd_addmul_v_uint64_30_256 T
mzd_additional.o mzd_addmul_v_uint64_3_128 T
mzd_additional.o mzd_addmul_v_uint64_3_192 T
mzd_additional.o mzd_addmul_v_uint64_3_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_free T
mzd_additional.o mzd_local_free_multiple T
mzd_additional.o mzd_local_init_ex T
mzd_additional.o mzd_local_init_multiple_ex T
mzd_additional.o mzd_mul_v_parity_uint64_128_3 T
mzd_additional.o mzd_mul_v_parity_uint64_128_30 T
mzd_additional.o mzd_mul_v_parity_uint64_192_3 T
mzd_additional.o mzd_mul_v_parity_uint64_192_30 T
mzd_additional.o mzd_mul_v_parity_uint64_256_3 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_128_640 T
mzd_additional.o mzd_mul_v_s128_192 T
mzd_additional.o mzd_mul_v_s128_192_1024 T
mzd_additional.o mzd_mul_v_s128_192_896 T
mzd_additional.o mzd_mul_v_s128_256 T
mzd_additional.o mzd_mul_v_s128_256_1152 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_128_576 T
mzd_additional.o mzd_mul_v_uint64_128_640 T
mzd_additional.o mzd_mul_v_uint64_192 T
mzd_additional.o mzd_mul_v_uint64_192_896 T
mzd_additional.o mzd_mul_v_uint64_192_960 T
mzd_additional.o mzd_mul_v_uint64_256 T
mzd_additional.o mzd_mul_v_uint64_256_1152 T
mzd_additional.o mzd_mul_v_uint64_256_1216 T
mzd_additional.o mzd_shuffle_128_3 T
mzd_additional.o mzd_shuffle_128_30 T
mzd_additional.o mzd_shuffle_192_3 T
mzd_additional.o mzd_shuffle_192_30 T
mzd_additional.o mzd_shuffle_256_3 T
mzd_additional.o mzd_shuffle_256_30 T
mzd_additional.o mzd_xor_s128_1024 T
mzd_additional.o mzd_xor_s128_1152 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_s128_640 T
mzd_additional.o mzd_xor_s128_896 T
mzd_additional.o mzd_xor_s128_blocks T
mzd_additional.o mzd_xor_uint64_1152 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
mzd_additional.o mzd_xor_uint64_576 T
mzd_additional.o mzd_xor_uint64_640 T
mzd_additional.o mzd_xor_uint64_896 T
mzd_additional.o mzd_xor_uint64_960 T
picnic.o picnic_get_lowmc_block_size T
picnic.o picnic_get_param_name T
picnic.o picnic_get_private_key_size 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 impl_sign T
picnic_impl.o impl_verify T
picnic_instances.o HASH_PREFIX_0 R
picnic_instances.o HASH_PREFIX_1 R
picnic_instances.o HASH_PREFIX_2 R
picnic_instances.o HASH_PREFIX_3 R
picnic_instances.o HASH_PREFIX_4 R
picnic_instances.o HASH_PREFIX_5 R
picnic_instances.o picnic_instance_get T
randomness.o rand_bytes T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 LMatrix T
lowmc_constants.o RConstant T
picnic.o get_param_set T
picnic.o get_transform T
picnic.o is_picnic2 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
picnic2_impl.o ceil_log2 T
picnic2_impl.o deserializeSignature2 T
picnic2_impl.o serializeSignature2 T
picnic2_impl.o sign_picnic2 T
picnic2_impl.o verify_picnic2 T
picnic_impl.o Commit T
picnic_impl.o G T
picnic_impl.o H3 T
picnic_impl.o LowMCEnc 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 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 runMPC 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_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
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref