Implementation notes: amd64, r24000, crypto_sign/sphincss256sha256robust

Computer: r24000
Microarchitecture: amd64; Coffee Lake (906ea)
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: sphincss256sha256robust
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
390238843263082 0 087375 820 1816T:avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
390303393463082 0 087375 820 1816T:avx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
391195243564262 0 088431 820 1816T:avx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
396638272145503 0 066145 812 1816T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
402659385863332 0 087834 828 1864T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
419556288756430 0 078338 828 1864T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
424171014355710 0 077466 828 1864T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
492142969052403 0 073082 820 1832T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
905343159324760 0 049410 828 1864T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
1012515603222793 0 047103 820 1816T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
1012877582123981 0 048175 820 1816T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
1013066026522793 0 047103 820 1816T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
1014526380522362 0 044418 828 1864T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
1035870602320012 0 040713 812 1816T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107
1211599892721459 0 042330 820 1832T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
1224693464222456 0 044394 828 1864T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820240107
1322442337524634 0 047951 820 1816T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820240107

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:19:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: ...

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

Namespace violations

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
address.o addr_to_bytes T
address.o copy_keypair_addr T
address.o copy_subtree_addr T
address.o set_chain_addr T
address.o set_hash_addr T
address.o set_keypair_addr T
address.o set_layer_addr T
address.o set_tree_addr T
address.o set_tree_height T
address.o set_tree_index T
address.o set_type T
fors.o fors_pk_from_sig T
fors.o fors_sign T
hash_sha256.o gen_message_random T
hash_sha256.o hash_message T
hash_sha256.o initialize_hash_function T
hash_sha256.o prf_addr T
hash_sha256.o state_seeded C
hash_sha256x8.o prf_addrx8 T
hash_sha256x8.o state_seeded C
sha256.o compress_address T
sha256.o mgf1 T
sha256.o seed_state T
sha256.o sha256 T
sha256.o sha256_inc_blocks T
sha256.o sha256_inc_finalize T
sha256.o sha256_inc_init T
sha256.o state_seeded C
sha256avx.o sha256_final8x T
sha256avx.o sha256_init8x T
sha256avx.o sha256_init_frombytes_x8 T
sha256avx.o sha256_transform8x T
sha256avx.o sha256_update8x T
sha256avx.o transpose T
sha256x8.o mgf1x8 T
sha256x8.o sha256x8 T
sign.o crypto_sign_bytes T
sign.o crypto_sign_publickeybytes T
sign.o crypto_sign_secretkeybytes T
sign.o crypto_sign_seed_keypair T
sign.o crypto_sign_seedbytes T
sign.o crypto_sign_signature T
sign.o crypto_sign_verify T
thash_sha256_robust.o state_seeded C
thash_sha256_robust.o thash T
thash_sha256_robustx8.o state_seeded C
thash_sha256_robustx8.o thashx8 T
utils.o bytes_to_ull T
utils.o compute_root T
utils.o treehash T
utils.o ull_to_bytes T
utilsx8.o treehashx8 T
wots.o wots_gen_pk T
wots.o wots_pk_from_sig T
wots.o wots_sign T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
address.o addr_to_bytes T
address.o copy_keypair_addr T
address.o copy_subtree_addr T
address.o set_chain_addr T
address.o set_hash_addr T
address.o set_keypair_addr T
address.o set_layer_addr T
address.o set_tree_addr T
address.o set_tree_height T
address.o set_tree_index T
address.o set_type T
fors.o fors_pk_from_sig T
fors.o fors_sign T
hash_sha256.o gen_message_random T
hash_sha256.o hash_message T
hash_sha256.o initialize_hash_function T
hash_sha256.o prf_addr T
hash_sha256.o state_seeded C
sha256.o compress_address T
sha256.o mgf1 T
sha256.o seed_state T
sha256.o sha256 T
sha256.o sha256_inc_blocks T
sha256.o sha256_inc_finalize T
sha256.o sha256_inc_init T
sha256.o state_seeded C
sign.o crypto_sign_bytes T
sign.o crypto_sign_publickeybytes T
sign.o crypto_sign_secretkeybytes T
sign.o crypto_sign_seed_keypair T
sign.o crypto_sign_seedbytes T
sign.o crypto_sign_signature T
sign.o crypto_sign_verify T
thash_sha256_robust.o state_seeded C
thash_sha256_robust.o thash T
utils.o bytes_to_ull T
utils.o compute_root T
utils.o treehash T
utils.o ull_to_bytes T
wots.o wots_gen_pk T
wots.o wots_pk_from_sig T
wots.o wots_sign T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
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