Test results for amd64, bolero, crypto_kem/ntruhps2048509
[Page version: 20251226 11:21:39]
Measurements for amd64, bolero, crypto_kem
Test results for amd64, bolero, crypto_kem
Test results for crypto_kem/ntruhps2048509
Computer: bolero
Microarchitecture: amd64; Broadwell+AES (406f1)
Architecture: amd64
CPU ID: GenuineIntel-000406f1-1fc9cbf5
SUPERCOP version: 20251222
Operation: crypto_kem
Primitive: ntruhps2048509
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 63432 | 83966 25984 0 | 122166 26776 1608 | avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 63648 | 88873 25984 0 | 128391 26800 1640 | avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 65208 | 97084 25984 0 | 136639 26800 1640 | avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 74224 | 75710 25984 0 | 111822 26776 1608 | avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 75340 | 73356 25984 0 | 108943 26800 1576 | avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 76388 | 74130 25984 0 | 110577 26792 1640 | avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 79544 | 74820 25984 0 | 110574 26776 1608 | avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 118383 | 72883 25984 0 | 107605 26768 1576 | avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 377388 | 35321 0 0 | 74697 816 1640 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 391656 | 27148 0 0 | 66409 816 1640 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 613608 | 22682 0 0 | 61041 816 1576 | ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 659308 | 51976 0 0 | 91113 816 1640 | compact | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 661008 | 68869 0 0 | 108105 816 1640 | compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 879140 | 52546 0 0 | 90681 816 1576 | compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 960240 | 31215 0 0 | 69816 792 1608 | compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2212844 | 6966 0 0 | 42577 816 1576 | ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2276028 | 9238 0 0 | 45523 808 1640 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2419548 | 7318 0 0 | 43883 808 1640 | compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2472416 | 7603 0 0 | 43217 816 1576 | compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2586224 | 8473 0 0 | 44520 792 1608 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2611676 | 14852 0 0 | 53000 792 1608 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 2740036 | 5614 0 0 | 42112 792 1608 | compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 4792856 | 7178 0 0 | 41791 784 1576 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 5369680 | 4147 0 0 | 39287 784 1576 | compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 6291568 | 7797 0 0 | 43422 784 1608 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
| 6644008 | 4813 0 0 | 40974 784 1608 | compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251226 | 20251222 |
Compiler output
owcpa.c: owcpa.c:69:40: warning: argument 'seed' of type 'const unsigned char[2413]' with mismatched bound [-Warray-parameter]
owcpa.c: 69 | const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c: | ^
owcpa.c: ./owcpa.h:14:40: note: previously declared as 'const unsigned char[32]' here
owcpa.c: 14 | const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c: | ^
owcpa.c: 1 warning generated.
pack3.c: pack3.c:3:36: warning: argument 'msg' of type 'unsigned char[204]' 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: ./poly.h:33:36: note: previously declared as 'unsigned char[102]' here
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 'msg' of type 'const unsigned char[204]' 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: ./poly.h:34:53: note: previously declared as 'const unsigned char[102]' here
pack3.c: 34 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c: | ^
pack3.c: 2 warnings generated.
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_18.1.3_(1ubuntu1)) |
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| 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_18.1.3_(1ubuntu1)) |
Compiler output
owcpa.c: owcpa.c:69:40: warning: argument 'seed' of type 'const unsigned char[2413]' with mismatched bound [-Warray-parameter]
owcpa.c: 69 | const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c: | ^
owcpa.c: ./owcpa.h:14:40: note: previously declared as 'const unsigned char[32]' here
owcpa.c: 14 | const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c: | ^
owcpa.c: 1 warning generated.
pack3.c: pack3.c:3:36: warning: argument 'msg' of type 'unsigned char[204]' 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: ./poly.h:33:36: note: previously declared as 'unsigned char[102]' here
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 'msg' of type 'const unsigned char[204]' 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: ./poly.h:34:53: note: previously declared as 'const unsigned char[102]' here
pack3.c: 34 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c: | ^
pack3.c: 2 warnings generated.
poly_r2_inv.c: poly_r2_inv.c:19:14: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: 19 | out[i] = _pext_u64(coeff_pointer[2*i], 0x1000100010001);
poly_r2_inv.c: | ^
poly_r2_inv.c: poly_r2_inv.c:20:15: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: 20 | out[i] |= _pext_u64(coeff_pointer[2*i+1], 0x1000100010001) << 4;
poly_r2_inv.c: | ^
poly_r2_inv.c: poly_r2_inv.c:22:12: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: 22 | out[i] = _pext_u64(coeff_pointer[2*63], 0x1000100010001);
poly_r2_inv.c: | ^
poly_r2_inv.c: poly_r2_inv.c:23:13: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: 23 | out[i] |= _pext_u64(coeff_pointer[2*63+1], 0x1) << 4;
poly_r2_inv.c: | ^
poly_r2_inv.c: 4 errors generated.
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_18.1.3_(1ubuntu1)) |
Compiler output
owcpa.c: owcpa.c:69:40: warning: argument 3 of type 'const unsigned char[2413]' 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_ntruhps2048509_avx2_constbranchindex_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhps2048509_avx2_constbranchindex_sample_fg' reading 2413 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: sample.h:9:19: note: in expansion of macro 'CRYPTO_NAMESPACE'
owcpa.c: 9 | #define sample_fg CRYPTO_NAMESPACE(sample_fg)
owcpa.c: | ^~~~~~~~~~~~~~~~
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[2413]'
owcpa.c: sample.h:9:19: note: in expansion of macro 'CRYPTO_NAMESPACE'
owcpa.c: 9 | #define sample_fg CRYPTO_NAMESPACE(sample_fg)
owcpa.c: | ^~~~~~~~~~~~~~~~
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_ntruhps2048509_avx2_constbranchindex_sample_fg'
owcpa.c: sample.h:9:19: note: in expansion of macro 'CRYPTO_NAMESPACE'
owcpa.c: 9 | #define sample_fg CRYPTO_NAMESPACE(sample_fg)
owcpa.c: ...
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[204]' 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[102]'
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[204]' 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: poly.h:34:53: note: previously declared as 'const unsigned char[102]'
pack3.c: 34 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Compiler output
owcpa.c: owcpa.c:69:40: warning: argument 'seed' of type 'const unsigned char[2413]' with mismatched bound [-Warray-parameter]
owcpa.c: 69 | const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c: | ^
owcpa.c: ./owcpa.h:14:40: note: previously declared as 'const unsigned char[32]' here
owcpa.c: 14 | const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c: | ^
owcpa.c: 1 warning generated.
pack3.c: pack3.c:3:36: warning: argument 'msg' of type 'unsigned char[204]' 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: ./poly.h:32:36: note: previously declared as 'unsigned char[102]' here
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 'msg' of type 'const unsigned char[204]' 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: ./poly.h:33:53: note: previously declared as 'const unsigned char[102]' here
pack3.c: 33 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c: | ^
pack3.c: 2 warnings 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_18.1.3_(1ubuntu1)) |
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| 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_18.1.3_(1ubuntu1)) |
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Compiler output
owcpa.c: owcpa.c:69:40: warning: argument 3 of type 'const unsigned char[2413]' 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_ntruhps2048509_ref_constbranchindex_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhps2048509_ref_constbranchindex_sample_fg' reading 2413 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: sample.h:9:19: note: in expansion of macro 'CRYPTO_NAMESPACE'
owcpa.c: 9 | #define sample_fg CRYPTO_NAMESPACE(sample_fg)
owcpa.c: | ^~~~~~~~~~~~~~~~
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[2413]'
owcpa.c: sample.h:9:19: note: in expansion of macro 'CRYPTO_NAMESPACE'
owcpa.c: 9 | #define sample_fg CRYPTO_NAMESPACE(sample_fg)
owcpa.c: | ^~~~~~~~~~~~~~~~
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_ntruhps2048509_ref_constbranchindex_sample_fg'
owcpa.c: sample.h:9:19: note: in expansion of macro 'CRYPTO_NAMESPACE'
owcpa.c: 9 | #define sample_fg CRYPTO_NAMESPACE(sample_fg)
owcpa.c: ...
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[204]' 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[102]'
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[204]' 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: poly.h:33:53: note: previously declared as 'const unsigned char[102]'
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:
| Implementation | Compiler |
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 26, namely:
| Implementation | Compiler |
| avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| 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_18.1.3_(1ubuntu1)) |
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
| compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| 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_18.1.3_(1ubuntu1)) |
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |