Implementation notes: amd64, r24000, crypto_sign/gui184

Computer: r24000
Microarchitecture: amd64; Coffee Lake (906ea)
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: gui184
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15837260165500 8 104867679046 932 1050472T:pclmulqdqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
15996509165297 8 104866078637 924 1050408T:pclmulqdqclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
16032659160475 8 104866073933 924 1050408T:pclmulqdqclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
16056960151167 8 104867661958 932 1050472T:pclmulqdqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
16088836152723 8 104867663622 932 1050472T:pclmulqdqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
16138677160475 8 104866073933 924 1050408T:pclmulqdqclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
17787124145398 8 104866055308 932 1050408T:pclmulqdqclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
21407544137796 8 104867647844 932 1050440T:pclmulqdqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
143421787137733 0 104862861733 924 1050408T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
144393337639018 0 104862864149 924 1050408T:amd64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
145948037732016 0 104862857269 924 1050408T:amd64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
146029279532016 0 104862857269 924 1050408T:amd64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
160763234480652 0 1048644105910 932 1050472T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
165154380218389 0 104862840020 916 1050408T:amd64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
174240705432495 0 104864455142 932 1050472T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
175845906234036 0 104864456790 932 1050472T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
3381922874183770 0 1048644209030 932 1050472T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
343473595315339 0 104864437292 932 1050440T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
357579225342684 0 104862866261 924 1050408T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
834326657651573 0 104864474318 932 1050472T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
839246224836553 0 104862861685 924 1050408T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
839323844130255 0 104862855477 924 1050408T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
839893144249857 0 104864472502 932 1050472T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107
850194835330255 0 104862855477 924 1050408T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
890219835615324 0 104862836948 916 1050408T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011520240107
1558287439314716 0 104864436652 932 1050440T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011520240107

Compiler output

Implementation: T:pclmulqdq
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gfext_poly_gf2.c: In file included from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: In file included from ./gfext.h:20:
gfext_poly_gf2.c: ./gfext_aesni.h:321:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
gfext_poly_gf2.c: _MUL_3_KARATSUBA( c0,c128,c256,a0,a128,b0,b128 );
gfext_poly_gf2.c: ^
gfext_poly_gf2.c: ./gfext_aesni.h:55:15: note: expanded from macro '_MUL_3_KARATSUBA'
gfext_poly_gf2.c: __m128i p0 = _mm_clmulepi64_si128( a0 , b0 , 0 ); \
gfext_poly_gf2.c: ^
gfext_poly_gf2.c: /usr/lib/llvm-10/lib/clang/10.0.0/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
gfext_poly_gf2.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
gfext_poly_gf2.c: ^
gfext_poly_gf2.c: In file included from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: In file included from ./gfext.h:20:
gfext_poly_gf2.c: ./gfext_aesni.h:321:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
gfext_poly_gf2.c: ./gfext_aesni.h:56:15: note: expanded from macro '_MUL_3_KARATSUBA'
gfext_poly_gf2.c: __m128i p2 = _mm_clmulepi64_si128( b2 , a2 , 0 ); \
gfext_poly_gf2.c: ^
gfext_poly_gf2.c: /usr/lib/llvm-10/lib/clang/10.0.0/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
gfext_poly_gf2.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
gfext_poly_gf2.c: ^
gfext_poly_gf2.c: In file included from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: In file included from ./gfext.h:20:
gfext_poly_gf2.c: ./gfext_aesni.h:321:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
gfext_poly_gf2.c: ./gfext_aesni.h:59:17: note: expanded from macro '_MUL_3_KARATSUBA'
gfext_poly_gf2.c: __m128i p012 = _mm_clmulepi64_si128( a1^a0^a2 , b1^b0^b2 , 0 ); \
gfext_poly_gf2.c: ...

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

Namespace violations

Implementation: T:amd64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gfext_poly_gf2.o _get_deg1poly_gcd T
gfext_poly_gf2.o find_unique_root_sparse_poly T
gfext_poly_gf2.o poly_eval T
gfext_poly_gf2.o poly_fdump T
gfext_poly_gf2.o poly_normalize T
gui.o InvHFEv_ T
gui.o gui_central_map T
gui.o gui_genkey T
gui.o gui_genkey_debug T
gui.o gui_ivs_central_map T
gui.o gui_pubmap_seckey T
gui.o gui_secmap T
gui_sig.o gui_sign T
gui_sig.o gui_sign_salt T
gui_sig.o gui_verify T
gui_sig.o gui_verify_salt T
gui_sig.o pack_tails T
gui_sig.o split_tails T
hash_utils.o sha2_chain T
hash_utils.o sha2_chain_byte T
hash_utils.o sha2_chain_file T
hash_utils.o sha2_chain_msg T
hash_utils.o sha2_file T
prng_utils.o prng_bytes T
prng_utils.o prng_dump T
prng_utils.o prng_dump_set T
prng_utils.o prng_expand_buffer T
prng_utils.o userrand_bytes T
prng_utils.o userrand_dump_generated T
prng_utils.o userrand_source_file T

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

Namespace violations

Implementation: T:pclmulqdq
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blas.o __zero_32 B
gf16.o __gf16_exp R
gf16.o __gf16_inv R
gf16.o __gf16_log R
gf16.o __gf16_mul D
gf16.o __gf16_mulx2 R
gf16.o __gf16_squ R
gf16.o __gf16_squ_sl4 R
gf16.o __gf16_squ_x8 R
gf16.o __gf256_mul R
gf16.o __mask_0x55 R
gf16.o __mask_16 R
gf16.o __mask_low R
gfext_iso_184.o gf2184to25623 R
gfext_iso_184.o gf25623to2184 R
gfext_iso_240.o gf2240to25630 R
gfext_iso_240.o gf25630to2240 R
gfext_iso_312.o gf2312to25639 R
gfext_iso_312.o gf25639to2312 R
gfext_iso_448.o gf2448to25656 R
gfext_iso_448.o gf25656to2448 R
gfext_poly_gf2.o _get_deg1poly_gcd T
gfext_poly_gf2.o find_unique_root_sparse_poly T
gfext_poly_gf2.o poly_eval T
gfext_poly_gf2.o poly_fdump T
gfext_poly_gf2.o poly_normalize T
gui.o InvHFEv_ T
gui.o gui_central_map T
gui.o gui_genkey T
gui.o gui_genkey_debug T
gui.o gui_ivs_central_map T
gui.o gui_pubmap_seckey T
gui.o gui_secmap T
gui_sig.o gui_sign T
gui_sig.o gui_sign_salt T
gui_sig.o gui_verify T
gui_sig.o gui_verify_salt T
gui_sig.o pack_tails T
gui_sig.o split_tails T
hash_utils.o sha2_chain T
hash_utils.o sha2_chain_byte T
hash_utils.o sha2_chain_file T
hash_utils.o sha2_chain_msg T
hash_utils.o sha2_file T
prng_utils.o prng_bytes T
prng_utils.o prng_dump T
prng_utils.o prng_dump_set T
prng_utils.o prng_expand_buffer T
prng_utils.o userrand_bytes T
prng_utils.o userrand_dump_generated T
prng_utils.o userrand_source_file T

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