Implementation notes: amd64, hydra5, crypto_sign/gui448

Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: gui448

Compiler output


gfext_poly_gf2.c: gfext_poly_gf2.c:88:20: warning: unused function 'poly_muladd' [-Wunused-function]
gfext_poly_gf2.c: static inline void poly_muladd( uint8_t *p3, const uint8_t *p1 , unsigned p1deg , unsigned p1raise , const uint8_t *c )
gfext_poly_gf2.c:                    ^
gfext_poly_gf2.c: 1 warning generated.
hash_utils.c: hash_utils.c:29:2: warning: 'SHA512_Init' is deprecated [-Wdeprecated-declarations]
hash_utils.c:         SHA512_Init( &sha512 );
hash_utils.c:         ^
hash_utils.c: /usr/include/openssl/sha.h:123:1: note: 'SHA512_Init' has been explicitly marked deprecated here
hash_utils.c: OSSL_DEPRECATEDIN_3_0 int SHA512_Init(SHA512_CTX *c);
hash_utils.c: ^
hash_utils.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
hash_utils.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
hash_utils.c:                                                 ^
hash_utils.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
hash_utils.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
hash_utils.c:                                                    ^
hash_utils.c: hash_utils.c:30:2: warning: 'SHA512_Update' is deprecated [-Wdeprecated-declarations]
hash_utils.c:         SHA512_Update( &sha512 , m , mlen );
hash_utils.c:         ^
hash_utils.c: /usr/include/openssl/sha.h:124:1: note: 'SHA512_Update' has been explicitly marked deprecated here
hash_utils.c: OSSL_DEPRECATEDIN_3_0 int SHA512_Update(SHA512_CTX *c,
hash_utils.c: ^
hash_utils.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
hash_utils.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
hash_utils.c:                                                 ^
hash_utils.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
hash_utils.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
hash_utils.c:                                                    ^
hash_utils.c: hash_utils.c:31:2: warning: 'SHA512_Final' is deprecated [-Wdeprecated-declarations]
hash_utils.c: ...

Number of similar (implementation,compiler) pairs: 10, namely:
ImplementationCompiler
T:amd64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:amd64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:amd64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:amd64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:amd64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


hash_utils.c: hash_utils.c: In function '_sha2_str':
hash_utils.c: hash_utils.c:29:9: warning: 'SHA512_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
hash_utils.c:    29 |         SHA512_Init( &sha512 );
hash_utils.c:       |         ^~~~~~~~~~~
hash_utils.c: In file included from hash_utils.c:4:
hash_utils.c: /usr/include/openssl/sha.h:123:27: note: declared here
hash_utils.c:   123 | OSSL_DEPRECATEDIN_3_0 int SHA512_Init(SHA512_CTX *c);
hash_utils.c:       |                           ^~~~~~~~~~~
hash_utils.c: hash_utils.c:30:9: warning: 'SHA512_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
hash_utils.c:    30 |         SHA512_Update( &sha512 , m , mlen );
hash_utils.c:       |         ^~~~~~~~~~~~~
hash_utils.c: In file included from hash_utils.c:4:
hash_utils.c: /usr/include/openssl/sha.h:124:27: note: declared here
hash_utils.c:   124 | OSSL_DEPRECATEDIN_3_0 int SHA512_Update(SHA512_CTX *c,
hash_utils.c:       |                           ^~~~~~~~~~~~~
hash_utils.c: hash_utils.c:31:9: warning: 'SHA512_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
hash_utils.c:    31 |         SHA512_Final( digest , &sha512 );
hash_utils.c:       |         ^~~~~~~~~~~~
hash_utils.c: In file included from hash_utils.c:4:
hash_utils.c: /usr/include/openssl/sha.h:126:27: note: declared here
hash_utils.c:   126 | OSSL_DEPRECATEDIN_3_0 int SHA512_Final(unsigned char *md, SHA512_CTX *c);
hash_utils.c:       |                           ^~~~~~~~~~~~
hash_utils.c: hash_utils.c: In function 'sha2_file':
hash_utils.c: hash_utils.c:65:9: warning: 'SHA512_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
hash_utils.c:    65 |         SHA512_Init( &sha512 );
hash_utils.c: ...

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:amd64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:amd64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:amd64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:amd64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


gfext_poly_gf2.c: gfext_poly_gf2.c:88:20: warning: unused function 'poly_muladd' [-Wunused-function]
gfext_poly_gf2.c: static inline void poly_muladd( uint8_t *p3, const uint8_t *p1 , unsigned p1deg , unsigned p1raise , const uint8_t *c )
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:655:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
gfext_poly_gf2.c:         _MUL_4_KARATSUBA( c0 , c2 , c4 , c6 , a0 , a2 , b0 , b2 );
gfext_poly_gf2.c:         ^
gfext_poly_gf2.c: ./gfext_aesni.h:78:8: note: expanded from macro '_MUL_4_KARATSUBA'
gfext_poly_gf2.c:   c0 = _mm_clmulepi64_si128( a0,b0 , 0x00 ); \
gfext_poly_gf2.c:        ^
gfext_poly_gf2.c: /usr/lib/llvm-14/lib/clang/14.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:655:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
gfext_poly_gf2.c: ./gfext_aesni.h:79:8: note: expanded from macro '_MUL_4_KARATSUBA'
gfext_poly_gf2.c:   c2 = _mm_clmulepi64_si128( a0,b0 , 0x11 ); \
gfext_poly_gf2.c:        ^
gfext_poly_gf2.c: /usr/lib/llvm-14/lib/clang/14.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: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:pclmulqdqclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:pclmulqdqclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:pclmulqdqclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:pclmulqdqclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:pclmulqdqclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


gfext_poly_gf2.c: In file included from gfext_aesni.h:12,
gfext_poly_gf2.c:                  from gfext.h:20,
gfext_poly_gf2.c:                  from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: gfext_aesni.h: In function '_gf2ext448_reduce_sse':
gfext_poly_gf2.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:116:1: error: inlining failed in call to 'always_inline' '_mm_clmulepi64_si128': target specific option mismatch
gfext_poly_gf2.c:   116 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
gfext_poly_gf2.c:       | ^~~~~~~~~~~~~~~~~~~~
gfext_poly_gf2.c: In file included from gfext.h:20,
gfext_poly_gf2.c:                  from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: gfext_aesni.h:632:15: note: called from here
gfext_poly_gf2.c:   632 |         x0 ^= _mm_clmulepi64_si128( x384 , reducer , 1 );
gfext_poly_gf2.c:       |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfext_poly_gf2.c: In file included from bitmat_prod_sse.h:7,
gfext_poly_gf2.c:                  from gfext_aesni.h:9,
gfext_poly_gf2.c:                  from gfext.h:20,
gfext_poly_gf2.c:                  from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/tmmintrin.h:185:1: error: inlining failed in call to 'always_inline' '_mm_alignr_epi8': target specific option mismatch
gfext_poly_gf2.c:   185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
gfext_poly_gf2.c:       | ^~~~~~~~~~~~~~~
gfext_poly_gf2.c: In file included from gfext.h:20,
gfext_poly_gf2.c:                  from gfext_poly_gf2.c:21:
gfext_poly_gf2.c: gfext_aesni.h:630:17: note: called from here
gfext_poly_gf2.c:   630 |         x128 ^= _mm_alignr_epi8( tt1 , tt2 , 8 );
gfext_poly_gf2.c:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfext_poly_gf2.c: In file included from gfext_aesni.h:12,
gfext_poly_gf2.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:pclmulqdqgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:pclmulqdqgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:pclmulqdqgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:pclmulqdqgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)