Implementation notes: amd64, scw1b63b1, crypto_sign/sphincsf256shake256robust

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_sign
Primitive: sphincsf256shake256robust
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
200176655015474 0 033695 800 1600refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
200375846216258 0 035263 800 1600refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
200394045015474 0 033695 800 1600refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
201366457616997 0 035911 800 1600refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
217549317444381 0 065142 824 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
291504470611780 0 028921 792 1600refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
300682189414014 0 032758 824 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
314153551213358 0 031894 824 1632refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
315775545411728 0 028998 816 1600refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fips202x4.c: fips202x4.c:154:12: error: always_inline function '_mm256_xor_si256' requires target feature 'xsave', but would be inlined into function 'shake128x4' that is compiled without support for 'xsave'
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^
fips202x4.c: 1 error generated.

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
fips202x4.c: fips202x4.c:154:12: error: always_inline function '_mm256_xor_si256' requires target feature 'sse4.2', but would be inlined into function 'shake128x4' that is compiled without support for 'sse4.2'
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^
fips202x4.c: 1 error generated.

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
fips202x4.c: fips202x4.c: In function ‘shake128x4’:
fips202x4.c: fips202x4.c:154:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fips202x4.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:43:0,
fips202x4.c: from fips202x4.c:1:
fips202x4.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline ‘_mm256_xor_si256’: target specific option mismatch
fips202x4.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
fips202x4.c: ^~~~~~~~~~~~~~~~
fips202x4.c: fips202x4.c:154:12: note: called from here
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Namespace violations

Implementation: ref
Security model: unknown
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
fips202.o sha3_256 T
fips202.o sha3_256_inc_absorb T
fips202.o sha3_256_inc_finalize T
fips202.o sha3_256_inc_init T
fips202.o sha3_512 T
fips202.o sha3_512_inc_absorb T
fips202.o sha3_512_inc_finalize T
fips202.o sha3_512_inc_init T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_inc_absorb T
fips202.o shake128_inc_finalize T
fips202.o shake128_inc_init T
fips202.o shake128_inc_squeeze T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_inc_absorb T
fips202.o shake256_inc_finalize T
fips202.o shake256_inc_init T
fips202.o shake256_inc_squeeze T
fips202.o shake256_squeezeblocks T
fors.o fors_pk_from_sig T
fors.o fors_sign T
hash_shake256.o gen_message_random T
hash_shake256.o hash_message T
hash_shake256.o initialize_hash_function T
hash_shake256.o prf_addr 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_shake256_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 ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
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