Test results for amd64, hunsnivy, crypto_sign/nccsign3aes
[Page version: 20241023 21:21:55]
Measurements for amd64, hunsnivy, crypto_sign
Test results for amd64, hunsnivy, crypto_sign
Test results for crypto_sign/nccsign3aes
Computer: hunsnivy
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20241022
Operation: crypto_sign
Primitive: nccsign3aes
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
2254520 | 76185 4092 0 | 95096 4908 1784 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2291034 | 39258 4092 0 | 59032 4940 1720 | ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2334579 | 44466 4092 0 | 65624 4940 1720 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2416880 | 38312 4092 0 | 57768 4940 1720 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2435734 | 24995 4092 0 | 43064 4908 1784 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2483150 | 23799 4092 0 | 40638 4932 1720 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2663124 | 23461 4092 0 | 41232 4908 1784 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
2941784 | 25445 4092 0 | 43070 4932 1720 | ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
3520598 | 21572 4092 0 | 38248 4900 1752 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241014 | 20241011 |
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:
Implementation | Compiler |
avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
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-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: 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-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: 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-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
aes.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
poly.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
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/10/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:12: 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/10/include/immintrin.h:53,
poly.c: from params.h:5,
poly.c: from poly.c:4:
poly.c: /usr/lib/gcc/x86_64-linux-gnu/10/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:20: 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/10/include/immintrin.h:53,
poly.c: from params.h:5,
poly.c: from poly.c:4:
poly.c: /usr/lib/gcc/x86_64-linux-gnu/10/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:
Implementation | Compiler |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
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:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
poly.c: poly.c: In function 'invntt_tomont':
poly.c: poly.c:946:16: warning: unused variable 't3' [-Wunused-variable]
poly.c: 946 | int32_t t1,t2,t3;
poly.c: | ^~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
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:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |