Test results for amd64, hydra8, crypto_sign/nccsign3aes

[Page version: 20241023 11:39:55]

Measurements for amd64, hydra8, crypto_sign Test results for amd64, hydra8, crypto_sign Test results for crypto_sign/nccsign3aes
Computer: hydra8
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20241022
Operation: crypto_sign
Primitive: nccsign3aes
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
227929383255 4092 0102541 4932 1792refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
231294043417 4092 064144 4988 1728refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
231737639054 4092 058984 4988 1728refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
234782237760 4092 056520 4988 1728refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
241216124540 4092 041610 4980 1728refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
241819327296 4092 045437 4932 1792refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
250021926868 4092 044344 4988 1728refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
266822825676 4092 043485 4932 1792refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101220241011
346359823687 4092 040389 4924 1760refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101220241011

Compiler output


aes.c: aes.c:51:24: warning: unused function 'br_swap32' [-Wunused-function]
aes.c: static inline uint32_t br_swap32(uint32_t x)
aes.c:                        ^
aes.c: 1 warning generated.
poly.c: poly.c:948:8: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 t1 = _mm256_mul_epi32(zetas1,Out[j+T_avx/2]);
poly.c:                      ^
poly.c: poly.c:949:12: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 t1QINV = _mm256_mul_epi32(t1,QINVx4);
poly.c:                          ^
poly.c: poly.c:950:47: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 t1 = _mm256_srli_epi64(_mm256_sub_epi64(t1, _mm256_mul_epi32(t1QINV, Qx4)),32);
poly.c:                                                             ^
poly.c: poly.c:950:26: error: always_inline function '_mm256_sub_epi64' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 t1 = _mm256_srli_epi64(_mm256_sub_epi64(t1, _mm256_mul_epi32(t1QINV, Qx4)),32);
poly.c:                                        ^
poly.c: poly.c:950:8: error: always_inline function '_mm256_srli_epi64' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 t1 = _mm256_srli_epi64(_mm256_sub_epi64(t1, _mm256_mul_epi32(t1QINV, Qx4)),32);
poly.c:                      ^
poly.c: poly.c:952:52: error: always_inline function '_mm256_sub_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 Out[j+T_avx/2] = _mm256_add_epi32(Out[j+T_avx/2],_mm256_sub_epi32(Out[j],t1));
poly.c:                                                                  ^
poly.c: poly.c:952:20: error: always_inline function '_mm256_add_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 Out[j+T_avx/2] = _mm256_add_epi32(Out[j+T_avx/2],_mm256_sub_epi32(Out[j],t1));
poly.c:                                  ^
poly.c: poly.c:953:12: error: always_inline function '_mm256_add_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c:                 Out[j] = _mm256_add_epi32(Out[j],t1);
poly.c:                          ^
poly.c: poly.c:964:10: error: always_inline function '_mm256_mul_epi32' requires target feature 'avx2', but would be inlined into function 'ntt_avx_4way' that is compiled without support for 'avx2'
poly.c: ...

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

Compiler output


aes.c: aes.c:660:5: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aes.c:     BLOCK1(0x01);
aes.c:     ^
aes.c: aes.c:641:13: note: expanded from macro 'BLOCK1'
aes.c:     temp1 = _mm_aeskeygenassist_si128(temp2, IMM);                        \
aes.c:             ^
aes.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
aes.c:   ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
aes.c:             ^
aes.c: aes.c:661:5: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aes.c:     BLOCK2(0x01);
aes.c:     ^
aes.c: aes.c:651:13: note: expanded from macro 'BLOCK2'
aes.c:     temp1 = _mm_aeskeygenassist_si128(temp0, IMM);                        \
aes.c:             ^
aes.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
aes.c:   ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
aes.c:             ^
aes.c: aes.c:663:5: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aes.c:     BLOCK1(0x02);
aes.c:     ^
aes.c: aes.c:641:13: note: expanded from macro 'BLOCK1'
aes.c:     temp1 = _mm_aeskeygenassist_si128(temp2, IMM);                        \
aes.c:             ^
aes.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
aes.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


poly.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly.c:                  from params.h:5,
poly.c:                  from poly.c:4:
poly.c: poly.c: In function 'ntt_avx_4way':
poly.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:119:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi32': target specific option mismatch
poly.c:   119 | _mm256_add_epi32 (__m256i __A, __m256i __B)
poly.c:       | ^~~~~~~~~~~~~~~~
poly.c: poly.c:953:26: note: called from here
poly.c:   953 |                 Out[j] = _mm256_add_epi32(Out[j],t1);
poly.c:       |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
poly.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly.c:                  from params.h:5,
poly.c:                  from poly.c:4:
poly.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:119:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi32': target specific option mismatch
poly.c:   119 | _mm256_add_epi32 (__m256i __A, __m256i __B)
poly.c:       | ^~~~~~~~~~~~~~~~
poly.c: poly.c:952:34: note: called from here
poly.c:   952 |                 Out[j+T_avx/2] = _mm256_add_epi32(Out[j+T_avx/2],_mm256_sub_epi32(Out[j],t1));
poly.c:       |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly.c:                  from params.h:5,
poly.c:                  from poly.c:4:
poly.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:815:1: error: inlining failed in call to 'always_inline' '_mm256_sub_epi32': target specific option mismatch
poly.c:   815 | _mm256_sub_epi32 (__m256i __A, __m256i __B)
poly.c:       | ^~~~~~~~~~~~~~~~
poly.c: ...

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

Compiler output


poly.c: poly.c:946:16: warning: unused variable 't3' [-Wunused-variable]
poly.c:         int32_t t1,t2,t3;
poly.c:                       ^
poly.c: 1 warning generated.

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

Compiler output


poly.c: poly.c: In function 'invntt_tomont':
poly.c: poly.c:946:23: warning: unused variable 't3' [-Wunused-variable]
poly.c:   946 |         int32_t t1,t2,t3;
poly.c:       |                       ^~

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

Namespace violations


aes.o aes128_ctr T
aes.o aes128_ctr_keyexp T
aes.o aes128_ctx_release T
aes.o aes128_ecb T
aes.o aes128_ecb_keyexp T
aes.o aes192_ctr T
aes.o aes192_ctr_keyexp T
aes.o aes192_ctx_release T
aes.o aes192_ecb T
aes.o aes192_ecb_keyexp T
aes.o aes256_ctr T
aes.o aes256_ctr_keyexp T
aes.o aes256_ctx_release T
aes.o aes256_ecb T
aes.o aes256_ecb_keyexp T
aes.o aes256ctr_init T
aes.o aes256ctr_prf T
aes.o aes256ctr_squeezeblocks T
fips202.o sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_finalize T
fips202.o shake128_init T
fips202.o shake128_squeeze T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_finalize T
fips202.o shake256_init T
fips202.o shake256_squeeze T
fips202.o shake256_squeezeblocks T
packing.o pack_pk T
packing.o pack_sig T
packing.o pack_sk T
packing.o polyeta_pack T
packing.o polyeta_unpack T
packing.o polyt0_pack T
packing.o polyt0_unpack T
packing.o polyt1_pack T
packing.o polyt1_unpack T
packing.o polyw1_pack T
packing.o polyz_pack T
packing.o polyz_unpack T
packing.o unpack_pk T
packing.o unpack_sig T
packing.o unpack_sk T
poly.o base_mul T
poly.o invntt_tomont T
poly.o ntt T
poly.o pointwise_mul T
poly.o poly_add T
poly.o poly_base_mul T
poly.o poly_caddq T
poly.o poly_challenge T
poly.o poly_chknorm T
poly.o poly_decompose T
poly.o poly_make_hint T
poly.o poly_modadd T
poly.o poly_modsub T
poly.o poly_mul_schoolbook T
poly.o poly_power2round T
poly.o poly_reduce T
poly.o poly_shiftl T
poly.o poly_sub T
poly.o poly_uniform T
poly.o poly_uniform_eta T
poly.o poly_uniform_gamma1 T
poly.o poly_use_hint T
poly.o reduce_modQ T
poly.o zetas D
poly.o zetas_inv D
reduce.o caddq T
reduce.o csubq T
reduce.o freeze T
reduce.o mod_add T
reduce.o mod_sub T
reduce.o montgomery_reduce T
reduce.o reduce32 T
rounding.o decompose T
rounding.o make_hint T
rounding.o power2round T
rounding.o use_hint T
sign.o crypto_sign_signature T
sign.o crypto_sign_verify T
symmetric-aes.o NIMS_aes256ctr_init T
symmetric-shake.o NIMS_shake128_stream_init T
symmetric-shake.o NIMS_shake256_stream_init T

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

Passed TIMECOP


TIMECOP iterations: 10

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