Implementation notes: amd64, hydra4, crypto_kem/mceliece348864f
Computer: hydra4
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: mceliece348864f
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
1023749 | 97908 0 0 | 148723 852 1752 | vec | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1024703 | 97908 0 0 | 140859 852 1752 | T:vec | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1257042 | 39309 0 0 | 80648 868 1720 | T:vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1268851 | 39309 0 0 | 88512 868 1720 | vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1282824 | 38946 0 0 | 88795 852 1752 | vec | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1286113 | 38946 0 0 | 80931 852 1752 | T:vec | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1320520 | 103591 0 0 | 154330 868 1720 | vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1321817 | 103591 0 0 | 146466 868 1720 | T:vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1325648 | 37093 0 0 | 77136 868 1720 | T:vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1328215 | 103591 0 0 | 154330 868 1720 | vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1328959 | 103591 0 0 | 146466 868 1720 | T:vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1334164 | 37093 0 0 | 85000 868 1720 | vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1364180 | 70358 0 0 | 112354 876 1720 | T:vec | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1366107 | 70358 0 0 | 120218 876 1720 | vec | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1526421 | 32907 0 0 | 72579 844 1720 | T:vec | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1533446 | 32907 0 0 | 80443 844 1720 | vec | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1707311 | 38181 0 0 | 79011 852 1752 | T:vec | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
1710339 | 38181 0 0 | 86875 852 1752 | vec | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
98774937 | 41338 0 0 | 79941 860 1752 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
98792698 | 41338 0 0 | 72077 860 1752 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
115923306 | 48631 0 0 | 86970 868 1720 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
115923875 | 48631 0 0 | 79106 868 1720 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
115927386 | 48631 0 0 | 79106 868 1720 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
115927539 | 48631 0 0 | 86970 868 1720 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
116120092 | 29805 0 0 | 59402 868 1720 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
116128258 | 29805 0 0 | 67266 868 1720 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
162057465 | 14947 0 0 | 44573 860 1752 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
162063135 | 14947 0 0 | 52437 860 1752 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
162722963 | 14404 0 0 | 50888 860 1720 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
162860511 | 14404 0 0 | 43024 860 1720 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
165672216 | 13767 0 0 | 42203 852 1752 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
165672760 | 13767 0 0 | 50067 852 1752 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
166037792 | 12451 0 0 | 40096 860 1720 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
166275057 | 12451 0 0 | 47960 860 1720 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
189543524 | 10659 0 0 | 37973 852 1720 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
189633192 | 10659 0 0 | 45837 852 1720 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
Compiler output
decrypt.c: decrypt.c:220:11: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
decrypt.c: allone = vec256_set1_16b(0xFFFF);
decrypt.c: ^
decrypt.c: decrypt.c:224:17: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
decrypt.c: error256[i] = vec256_or_reduce(eval[i]);
decrypt.c: ^
decrypt.c: decrypt.c:225:17: warning: AVX vector argument of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
decrypt.c: error256[i] = vec256_xor(error256[i], allone);
decrypt.c: ^
decrypt.c: decrypt.c:153:12: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
decrypt.c: out[i] = vec256_set4x(v[0], v[1], v[2], v[3]);
decrypt.c: ^
decrypt.c: In file included from decrypt.c:15:
decrypt.c: In file included from ./fft_tr.h:11:
decrypt.c: ./vec256.h:35:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'avx', but would be inlined into function 'vec256_set4x' that is compiled without support for 'avx'
decrypt.c: return _mm256_set_epi64x(a3, a2, a1, a0);
decrypt.c: ^
decrypt.c: ./vec256.h:35:10: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
decrypt.c: decrypt.c:59:15: warning: AVX vector argument of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
decrypt.c: out[i][j] = vec256_and(inv[i][j], recv[i]);
decrypt.c: ^
decrypt.c: In file included from decrypt.c:15:
decrypt.c: In file included from ./fft_tr.h:11:
decrypt.c: ./vec256.h:74:9: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'vec256_and' that is compiled without support for 'avx2'
decrypt.c: return _mm256_and_si256(a, b);
decrypt.c: ...
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
benes.c: In file included from transpose.h:11,
benes.c: from benes.c:14:
benes.c: vec256.h: In function 'vec256_load':
benes.c: vec256.h:14:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
benes.c: 14 | {
benes.c: | ^
bm.c: In file included from vec128.h:9,
bm.c: from bm.h:12,
bm.c: from bm.c:24:
bm.c: bm.c: In function 'get_coefs':
bm.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:454:1: error: inlining failed in call to 'always_inline' '_mm_extract_epi64': target specific option mismatch
bm.c: 454 | _mm_extract_epi64 (__m128i __X, const int __N)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:12,
bm.c: from bm.c:24:
bm.c: vec128.h:23:42: note: called from here
bm.c: 23 | #define vec128_extract(a, i) ((uint64_t) _mm_extract_epi64((vec128) (a), (i)))
bm.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: bm.c:122:30: note: in expansion of macro 'vec128_extract'
bm.c: 122 | out[ (4*1 + k)*16 + i ] = (vec128_extract(buf[i], 1) >> (k*16)) & GFMASK;
bm.c: | ^~~~~~~~~~~~~~
bm.c: In file included from vec128.h:9,
bm.c: from bm.h:12,
bm.c: from bm.c:24:
bm.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:454:1: error: inlining failed in call to 'always_inline' '_mm_extract_epi64': target specific option mismatch
bm.c: 454 | _mm_extract_epi64 (__m128i __X, const int __N)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:12,
bm.c: from bm.c:24:
bm.c: vec128.h:23:42: note: called from here
bm.c: 23 | #define vec128_extract(a, i) ((uint64_t) _mm_extract_epi64((vec128) (a), (i)))
bm.c: ...
Number of similar (implementation,compiler) pairs: 8, namely:
Implementation | Compiler |
avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
decrypt.c: In file included from decrypt.c:9:
decrypt.c: In file included from ./vec128_gf.h:10:
decrypt.c: ./vec128.h:33:9: error: always_inline function '_mm_testz_si128' requires target feature 'sse4.1', but would be inlined into function 'vec128_testz' that is compiled without support for 'sse4.1'
decrypt.c: return _mm_testz_si128(a, a);
decrypt.c: ^
decrypt.c: 1 error generated.
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
sse | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:sse | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:sse | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:sse | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:sse | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:sse | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
bm.c: In file included from vec128.h:10,
bm.c: from bm.h:13,
bm.c: from bm.c:15:
bm.c: bm.c: In function 'get_coefs':
bm.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:454:1: error: inlining failed in call to 'always_inline' '_mm_extract_epi64': target specific option mismatch
bm.c: 454 | _mm_extract_epi64 (__m128i __X, const int __N)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:13,
bm.c: from bm.c:15:
bm.c: vec128.h:29:42: note: called from here
bm.c: 29 | #define vec128_extract(a, i) ((uint64_t) _mm_extract_epi64((vec128) (a), (i)))
bm.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: bm.c:114:30: note: in expansion of macro 'vec128_extract'
bm.c: 114 | out[ (4*1 + k)*16 + i ] = (vec128_extract(buf[i], 1) >> (k*16)) & GFMASK;
bm.c: | ^~~~~~~~~~~~~~
bm.c: In file included from vec128.h:10,
bm.c: from bm.h:13,
bm.c: from bm.c:15:
bm.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:454:1: error: inlining failed in call to 'always_inline' '_mm_extract_epi64': target specific option mismatch
bm.c: 454 | _mm_extract_epi64 (__m128i __X, const int __N)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:13,
bm.c: from bm.c:15:
bm.c: vec128.h:29:42: note: called from here
bm.c: 29 | #define vec128_extract(a, i) ((uint64_t) _mm_extract_epi64((vec128) (a), (i)))
bm.c: ...
Number of similar (implementation,compiler) pairs: 8, namely:
Implementation | Compiler |
sse | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:sse | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:sse | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:sse | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:sse | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 18, 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) |
vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |