Test results for amd64, h3neo, crypto_kem/ntruhps2048677

[Page version: 20241105 13:30:20]

Measurements for amd64, h3neo, crypto_kem Test results for amd64, h3neo, crypto_kem Test results for crypto_kem/ntruhps2048677
Computer: h3neo
Microarchitecture: amd64; K10 45nm (100f63)
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20241022
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
282604429541 0 0105821 860 1728T:compactclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
282981536677 0 0113877 860 1728T:compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
285323636677 0 0120421 860 1728compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
285530129541 0 0112365 860 1728compactclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
287500835025 0 0113463 820 1760T:compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
288598139234 0 0116813 860 1728T:compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
290595435025 0 0120007 820 1760compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
291460139234 0 0123357 860 1728compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
58095537115 0 082613 860 1728T:compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
58296687115 0 089157 860 1728compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
638033214813 0 091133 860 1728T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
638250919877 0 097125 860 1728T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
63975437507 0 082215 852 1728T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
640269414813 0 097677 860 1728refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
640297119877 0 0103669 860 1728refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
64254997507 0 088759 852 1728refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
693496121151 0 098869 860 1728T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
696108721151 0 0105413 860 1728refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
78332305854 0 080839 852 1728T:compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
80574725854 0 087383 852 1728compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
81563785456 0 082623 820 1760T:compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
81720865456 0 089167 820 1760compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
892208817997 0 096087 820 1760T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
894906117997 0 0102631 820 1760refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
89540538341 0 085175 820 1760T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
89769978341 0 091719 820 1760refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
118517947238 0 081639 812 1728T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
118831027238 0 088183 812 1728refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
122414596897 0 082373 860 1728T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
122655726897 0 088917 860 1728refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
132568617730 0 083325 812 1760T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
132759337730 0 089869 812 1760refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
133910614765 0 080925 812 1760T:compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
134175564765 0 087469 812 1760compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
138528154151 0 079103 812 1728T:compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011
140669974151 0 085647 812 1728compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024110220241011

Compiler output


poly_s3_inv.c: poly_s3_inv.c:362:11: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c:   F0[0] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
poly_s3_inv.c:           ^
poly_s3_inv.c: poly_s3_inv.c:362:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
poly_s3_inv.c: poly_s3_inv.c:363:11: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c:   F0[1] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
poly_s3_inv.c:           ^
poly_s3_inv.c: poly_s3_inv.c:363:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
poly_s3_inv.c: poly_s3_inv.c:364:11: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c:   F0[2] = _mm256_set_epi32(511,-1,511,-1,511,-1,1023,-1);
poly_s3_inv.c:           ^
poly_s3_inv.c: poly_s3_inv.c:364:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
poly_s3_inv.c: poly_s3_inv.c:365:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c:   F1[0] = _mm256_set1_epi32(0);
poly_s3_inv.c:           ^
poly_s3_inv.c: poly_s3_inv.c:365:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
poly_s3_inv.c: poly_s3_inv.c:366:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c:   F1[1] = _mm256_set1_epi32(0);
poly_s3_inv.c:           ^
poly_s3_inv.c: poly_s3_inv.c:366:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
poly_s3_inv.c: poly_s3_inv.c:367:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c:   F1[2] = _mm256_set1_epi32(0);
poly_s3_inv.c:           ^
poly_s3_inv.c: poly_s3_inv.c:367:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
poly_s3_inv.c: poly_s3_inv.c:369:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'avx'
poly_s3_inv.c: ...

Number of similar (implementation,compiler) pairs: 10, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T: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)
T: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)
T: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)
T:avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


owcpa.c: owcpa.c:69:40: warning: argument 3 of type 'const unsigned char[3211]' with mismatched bound [-Warray-parameter=]
owcpa.c:    69 |                    const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
owcpa.c: In file included from owcpa.c:2:
owcpa.c: owcpa.h:14:40: note: previously declared as 'const unsigned char[32]'
owcpa.c:    14 |                    const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c: In function 'crypto_kem_ntruhps2048677_avx2_constbranchindex_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhps2048677_avx2_constbranchindex_sample_fg' reading 3211 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: referencing argument 3 of type 'const unsigned char *'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: in a call to function 'crypto_kem_ntruhps2048677_avx2_constbranchindex_sample_fg'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: sample.h:11:6: note: in expansion of macro 'sample_fg'
owcpa.c:    11 | void sample_fg(poly *f, poly *g, const unsigned char uniformbytes[NTRU_SAMPLE_FG_BYTES]);
owcpa.c:       |      ^~~~~~~~~
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:     3 | void poly_S3_tobytes(unsigned char msg[NTRU_OWCPA_MSGBYTES], const poly *a)
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:33:36: note: previously declared as 'unsigned char[136]'
pack3.c:    33 | void poly_S3_tobytes(unsigned char msg[NTRU_PACK_TRINARY_BYTES], const poly *a);
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: pack3.c:25:53: warning: argument 2 of type 'const unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:    25 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_OWCPA_MSGBYTES])
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:34:53: note: previously declared as 'const unsigned char[136]'
pack3.c:    34 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function '__poly_S3_inv':
poly_s3_inv.c: poly_s3_inv.c:362:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c:   362 |   F0[0] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
poly_s3_inv.c:       |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_swap':
poly_s3_inv.c: poly_s3_inv.c:178:20: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c:   178 | static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c:       |                    ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly_s3_inv.c:                  from poly.h:4,
poly_s3_inv.c:                  from poly_s3_inv.c:2:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:597:1: error: inlining failed in call to 'always_inline' '_mm256_shuffle_epi32': target specific option mismatch
poly_s3_inv.c:   597 | _mm256_shuffle_epi32 (__m256i __A, const int __mask)
poly_s3_inv.c:       | ^~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:69:9: note: called from here
poly_s3_inv.c:    69 |     h = _mm256_shuffle_epi32(h,0xd8);
poly_s3_inv.c:       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly_s3_inv.c:                  from poly.h:4,
poly_s3_inv.c:                  from poly_s3_inv.c:2:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:1071:1: error: inlining failed in call to 'always_inline' '_mm256_permute4x64_epi64': target specific option mismatch
poly_s3_inv.c:  1071 | _mm256_permute4x64_epi64 (__m256i __X, const int __M)
poly_s3_inv.c:       | ^~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:68:9: note: called from here
poly_s3_inv.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


owcpa.c: owcpa.c:69:40: warning: argument 3 of type 'const unsigned char[3211]' with mismatched bound [-Warray-parameter=]
owcpa.c:    69 |                    const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
owcpa.c: In file included from owcpa.c:2:
owcpa.c: owcpa.h:14:40: note: previously declared as 'const unsigned char[32]'
owcpa.c:    14 |                    const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c: In function 'crypto_kem_ntruhps2048677_avx2_timingleaks_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhps2048677_avx2_timingleaks_sample_fg' reading 3211 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: referencing argument 3 of type 'const unsigned char *'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: in a call to function 'crypto_kem_ntruhps2048677_avx2_timingleaks_sample_fg'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: sample.h:11:6: note: in expansion of macro 'sample_fg'
owcpa.c:    11 | void sample_fg(poly *f, poly *g, const unsigned char uniformbytes[NTRU_SAMPLE_FG_BYTES]);
owcpa.c:       |      ^~~~~~~~~
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:     3 | void poly_S3_tobytes(unsigned char msg[NTRU_OWCPA_MSGBYTES], const poly *a)
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:33:36: note: previously declared as 'unsigned char[136]'
pack3.c:    33 | void poly_S3_tobytes(unsigned char msg[NTRU_PACK_TRINARY_BYTES], const poly *a);
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: pack3.c:25:53: warning: argument 2 of type 'const unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:    25 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_OWCPA_MSGBYTES])
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:34:53: note: previously declared as 'const unsigned char[136]'
pack3.c:    34 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function '__poly_S3_inv':
poly_s3_inv.c: poly_s3_inv.c:362:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c:   362 |   F0[0] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
poly_s3_inv.c:       |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_swap':
poly_s3_inv.c: poly_s3_inv.c:178:20: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c:   178 | static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c:       |                    ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly_s3_inv.c:                  from poly.h:4,
poly_s3_inv.c:                  from poly_s3_inv.c:2:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:597:1: error: inlining failed in call to 'always_inline' '_mm256_shuffle_epi32': target specific option mismatch
poly_s3_inv.c:   597 | _mm256_shuffle_epi32 (__m256i __A, const int __mask)
poly_s3_inv.c:       | ^~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:69:9: note: called from here
poly_s3_inv.c:    69 |     h = _mm256_shuffle_epi32(h,0xd8);
poly_s3_inv.c:       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
poly_s3_inv.c:                  from poly.h:4,
poly_s3_inv.c:                  from poly_s3_inv.c:2:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:1071:1: error: inlining failed in call to 'always_inline' '_mm256_permute4x64_epi64': target specific option mismatch
poly_s3_inv.c:  1071 | _mm256_permute4x64_epi64 (__m256i __X, const int __M)
poly_s3_inv.c:       | ^~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:68:9: note: called from here
poly_s3_inv.c: ...

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

Compiler output


owcpa.c: owcpa.c:69:40: warning: argument 3 of type 'const unsigned char[3211]' with mismatched bound [-Warray-parameter=]
owcpa.c:    69 |                    const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
owcpa.c: In file included from owcpa.c:2:
owcpa.c: owcpa.h:14:40: note: previously declared as 'const unsigned char[32]'
owcpa.c:    14 |                    const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c: In function 'crypto_kem_ntruhps2048677_ref_constbranchindex_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhps2048677_ref_constbranchindex_sample_fg' reading 3211 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: referencing argument 3 of type 'const unsigned char *'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: in a call to function 'crypto_kem_ntruhps2048677_ref_constbranchindex_sample_fg'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: sample.h:11:6: note: in expansion of macro 'sample_fg'
owcpa.c:    11 | void sample_fg(poly *f, poly *g, const unsigned char uniformbytes[NTRU_SAMPLE_FG_BYTES]);
owcpa.c:       |      ^~~~~~~~~
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:     3 | void poly_S3_tobytes(unsigned char msg[NTRU_OWCPA_MSGBYTES], const poly *a)
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:32:36: note: previously declared as 'unsigned char[136]'
pack3.c:    32 | void poly_S3_tobytes(unsigned char msg[NTRU_PACK_TRINARY_BYTES], const poly *a);
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: pack3.c:25:53: warning: argument 2 of type 'const unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:    25 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_OWCPA_MSGBYTES])
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:33:53: note: previously declared as 'const unsigned char[136]'
pack3.c:    33 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.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)

Compiler output


owcpa.c: owcpa.c:69:40: warning: argument 3 of type 'const unsigned char[3211]' with mismatched bound [-Warray-parameter=]
owcpa.c:    69 |                    const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
owcpa.c: In file included from owcpa.c:2:
owcpa.c: owcpa.h:14:40: note: previously declared as 'const unsigned char[32]'
owcpa.c:    14 |                    const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c:       |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c: In function 'crypto_kem_ntruhps2048677_ref_timingleaks_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhps2048677_ref_timingleaks_sample_fg' reading 3211 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: referencing argument 3 of type 'const unsigned char *'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:79:3: note: in expansion of macro 'sample_fg'
owcpa.c:    79 |   sample_fg(f,g,seed);
owcpa.c:       |   ^~~~~~~~~
owcpa.c: <command-line>: note: in a call to function 'crypto_kem_ntruhps2048677_ref_timingleaks_sample_fg'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: sample.h:11:6: note: in expansion of macro 'sample_fg'
owcpa.c:    11 | void sample_fg(poly *f, poly *g, const unsigned char uniformbytes[NTRU_SAMPLE_FG_BYTES]);
owcpa.c:       |      ^~~~~~~~~
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:     3 | void poly_S3_tobytes(unsigned char msg[NTRU_OWCPA_MSGBYTES], const poly *a)
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:32:36: note: previously declared as 'unsigned char[136]'
pack3.c:    32 | void poly_S3_tobytes(unsigned char msg[NTRU_PACK_TRINARY_BYTES], const poly *a);
pack3.c:       |                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: pack3.c:25:53: warning: argument 2 of type 'const unsigned char[272]' with mismatched bound [-Warray-parameter=]
pack3.c:    25 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_OWCPA_MSGBYTES])
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:33:53: note: previously declared as 'const unsigned char[136]'
pack3.c:    33 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c:       |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
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)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10BB90
   at 0x...: poly_S3_tobytes (kem.c:191)
   by 0x...: owcpa_keypair (kem.c:311)
   by 0x...: crypto_kem_ntruhps2048677_compact_constbranchindex_keypair (kem.c:364)
   by 0x...: test (try.c:126)
   by 0x...: main (try-anything.c:345)

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

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10BE60
   at 0x...: poly_S3_tobytes (kem.c:191)
   by 0x...: owcpa_keypair (kem.c:311)
   by 0x...: crypto_kem_ntruhps2048677_compact_constbranchindex_keypair (kem.c:364)
   by 0x...: test (try.c:126)
   by 0x...: main (try-anything.c:345)

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

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10B500
   at 0x...: crypto_kem_ntruhps2048677_ref_constbranchindex_poly_S3_tobytes (pack3.c:12)
   by 0x...: crypto_kem_ntruhps2048677_ref_constbranchindex_owcpa_keypair (owcpa.c:82)
   by 0x...: crypto_kem_ntruhps2048677_ref_constbranchindex_keypair (kem.c:16)
   by 0x...: test (try.c:126)
   by 0x...: main (try-anything.c:345)

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

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10BC60
   at 0x...: crypto_kem_ntruhps2048677_ref_constbranchindex_poly_S3_tobytes (pack3.c:12)
   by 0x...: crypto_kem_ntruhps2048677_ref_constbranchindex_owcpa_keypair (owcpa.c:82)
   by 0x...: crypto_kem_ntruhps2048677_ref_constbranchindex_keypair (kem.c:16)
   by 0x...: test (try.c:126)
   by 0x...: main (try-anything.c:345)

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

Passed TIMECOP


TIMECOP iterations: 1

Number of similar (implementation,compiler) pairs: 14, namely:
ImplementationCompiler
compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.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)