Implementation notes: amd64, comet, crypto_core/multsntrup653
Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_core
Primitive: multsntrup653
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
15106 | 20342 0 0 | 37433 852 1024 | avx800 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
15290 | 19834 0 0 | 32953 852 928 | avx | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
15322 | 20734 0 0 | 37825 852 1024 | avx | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
15354 | 19959 0 0 | 33081 852 928 | avx800 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
15505 | 17666 0 0 | 31551 844 1024 | avx800 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
15729 | 17921 0 0 | 31799 844 1024 | avx | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16012 | 19404 0 0 | 36193 852 960 | avx800 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16263 | 19796 0 0 | 36585 852 960 | avx | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16550 | 16700 0 0 | 33457 852 960 | round2 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16598 | 18133 0 0 | 31195 772 992 | avx800 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16745 | 17638 0 0 | 34697 852 1024 | round2 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16876 | 16322 0 0 | 29409 852 928 | round2 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
16980 | 18631 0 0 | 31691 772 992 | avx | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17085 | 17696 0 0 | 29715 764 960 | avx800 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17601 | 18821 0 0 | 34188 780 992 | avx800 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17653 | 18309 0 0 | 31772 780 992 | avx800 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17687 | 14995 0 0 | 28460 780 992 | round2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17715 | 18277 0 0 | 30299 764 960 | avx | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17906 | 18757 0 0 | 32220 780 992 | avx | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
17926 | 19269 0 0 | 34636 780 992 | avx | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
18110 | 13793 0 0 | 27639 844 1024 | round2 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
18216 | 14832 0 0 | 27891 772 992 | round2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
18723 | 13836 0 0 | 25867 764 960 | round2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
18754 | 16483 0 0 | 31844 780 992 | round2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
113313 | 3245 0 0 | 20377 852 1024 | compact | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
125142 | 2709 0 0 | 19537 852 960 | compact | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
125780 | 4977 0 0 | 20316 780 992 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
129797 | 2118 0 0 | 17420 780 992 | compact | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
220773 | 2189 0 0 | 19025 852 960 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
221175 | 2189 0 0 | 19321 852 1024 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
457206 | 1540 0 0 | 17033 852 928 | compact | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
468644 | 1675 0 0 | 17177 852 928 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
599703 | 1274 0 0 | 15167 844 1024 | compact | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
849938 | 591 0 0 | 14519 844 1024 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
878285 | 463 0 0 | 13545 852 928 | compact | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
891432 | 634 0 0 | 13721 852 928 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
905191 | 1288 0 0 | 14700 780 992 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
913421 | 531 0 0 | 13515 772 992 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
1014342 | 463 0 0 | 12419 764 960 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
1019367 | 409 0 0 | 12363 764 960 | compact | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
1021337 | 441 0 0 | 13419 772 992 | compact | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
1023711 | 473 0 0 | 13900 780 992 | compact | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
Compiler output
mult768.c: mult768.c:266:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_avx_constbranchindex' that is compiled without support for 'avx'
mult768.c: x = const_x16(0);
mult768.c: ^
mult768.c: mult768.c:11:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:266:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult768.c: mult768.c:11:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:267:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_avx_constbranchindex' that is compiled without support for 'avx'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&f[i],x);
mult768.c: ^
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:267:35: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:268:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_avx_constbranchindex' that is compiled without support for 'avx'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&g[i],x);
mult768.c: ^
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
mult768.c: mult768.c:266:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_avx800_constbranchindex' that is compiled without support for 'avx'
mult768.c: x = const_x16(0);
mult768.c: ^
mult768.c: mult768.c:11:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:266:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult768.c: mult768.c:11:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:267:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_avx800_constbranchindex' that is compiled without support for 'avx'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&f[i],x);
mult768.c: ^
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:267:35: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:268:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_avx800_constbranchindex' that is compiled without support for 'avx'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&g[i],x);
mult768.c: ^
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
avx800 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
ntt.c: ntt.c:562:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:865:10: warning: unused variable 'origf' [-Wunused-variable]
ntt.c: int16 *origf = f;
ntt.c: ^
ntt.c: ntt.c:864:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
round2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
ntt.c: ntt.c:562:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:865:10: warning: unused variable 'origf' [-Wunused-variable]
ntt.c: int16 *origf = f;
ntt.c: ^
ntt.c: ntt.c:864:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
round2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
ntt.c: ntt.c:562:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:865:10: warning: unused variable 'origf' [-Wunused-variable]
ntt.c: int16 *origf = f;
ntt.c: ^
ntt.c: ntt.c:864:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
round2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
ntt.c: ntt.c:562:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:562:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:864:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ^
ntt.c: ntt.c:865:10: warning: unused variable 'origf' [-Wunused-variable]
ntt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
round2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
mult768.c: mult768.c:268:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_round2_constbranchindex' that is compiled without support for 'avx'
mult768.c: x = const_x16(0);
mult768.c: ^
mult768.c: mult768.c:11:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:268:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult768.c: mult768.c:11:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:269:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_round2_constbranchindex' that is compiled without support for 'avx'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&f[i],x);
mult768.c: ^
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:269:35: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:270:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_multsntrup653_round2_constbranchindex' that is compiled without support for 'avx'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&g[i],x);
mult768.c: ^
mult768.c: mult768.c:10:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
round2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
ntt.c: ntt.c: In function 'ntt512':
ntt.c: ntt.c:562:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: 562 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: | ^~
ntt.c: ntt.c:562:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: 562 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: | ^~
ntt.c: ntt.c:562:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: 562 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: | ^~
ntt.c: ntt.c:562:35: warning: unused variable 'h0' [-Wunused-variable]
ntt.c: 562 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: | ^~
ntt.c: ntt.c: In function 'invntt512':
ntt.c: ntt.c:865:10: warning: unused variable 'origf' [-Wunused-variable]
ntt.c: 865 | int16 *origf = f;
ntt.c: | ^~~~~
ntt.c: ntt.c:864:44: warning: unused variable 'h3' [-Wunused-variable]
ntt.c: 864 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: | ^~
ntt.c: ntt.c:864:41: warning: unused variable 'h2' [-Wunused-variable]
ntt.c: 864 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: | ^~
ntt.c: ntt.c:864:38: warning: unused variable 'h1' [-Wunused-variable]
ntt.c: 864 | __m256i f0,f1,f2,f3,g0,g1,g2,g3,h0,h1,h2,h3;
ntt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
round2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 42, namely:
Implementation | Compiler |
avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx800 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx800 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx800 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx800 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
avx800 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx800 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx800 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
avx800 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
compact | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
round2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
round2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
round2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
round2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
round2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |