Test results for amd64, hydra8, crypto_sign/nccsign3
[Page version: 20241023 11:39:55]
Measurements for amd64, hydra8, crypto_sign
Test results for amd64, hydra8, crypto_sign
Test results for crypto_sign/nccsign3
Computer: hydra8
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20241022
Operation: crypto_sign
Primitive: nccsign3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
1673764 | 83119 4092 0 | 83413 4916 1792 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
1730536 | 43385 4092 0 | 53480 4972 1728 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
1746937 | 39022 4092 0 | 48912 4972 1728 | ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
1802893 | 37728 4092 0 | 45688 4972 1728 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
1863203 | 27176 4092 0 | 37213 4916 1792 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
1886449 | 26868 4092 0 | 36480 4972 1728 | ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
1916162 | 24520 4092 0 | 35178 4964 1728 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
2071400 | 25547 4092 0 | 36005 4916 1792 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 20241011 |
2098976 | 23656 4092 0 | 33573 4908 1760 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20241012 | 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 (Ubuntu_Clang_14.0.0) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
avx2 | clang -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:
Implementation | Compiler |
avx2 | clang -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:
Implementation | Compiler |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
avx2 | gcc -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:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -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:
Implementation | Compiler |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -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:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -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:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |