Implementation notes: amd64, wolfdale, crypto_kem/mceliece348864pcf

Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: mceliece348864pcf
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
111237679977 0 0119499 852 1752vecgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
111650779977 0 0111515 852 1752T:vecgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
129840441414 0 080299 852 1752vecgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
131021941414 0 072315 852 1752T:vecgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
132254281109 0 0113458 868 1720T:vecclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
132260481109 0 0121378 868 1720vecclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
140102085960 0 0126306 868 1720vecclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
140784685960 0 0118386 868 1720T:vecclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
146755370205 0 0109714 876 1720vecclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
148279440231 0 071000 868 1720T:vecclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
148364240231 0 078920 868 1720vecclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
151489070205 0 0101794 876 1720T:vecclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
152718633214 0 062275 844 1720T:vecgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
153122433214 0 070259 844 1720vecgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
159762539481 0 069803 852 1752T:vecgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
160312839481 0 077723 852 1752vecgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
164119837528 0 074776 868 1720vecclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
164650437528 0 066856 868 1720T:vecclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
8972835144429 0 083426 868 1720refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
9003778628401 0 066586 868 1720refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
9016863028401 0 058666 868 1720T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
9059144144429 0 075506 868 1720T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
9749917645251 0 084138 868 1720refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
10027000845251 0 076154 868 1720T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
10129552927168 0 057653 860 1752T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
10130559527168 0 065573 860 1752refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
13098027512818 0 048776 860 1720refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
13111480412818 0 040856 860 1720T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
13884190614022 0 042931 852 1752T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
13887031614022 0 050915 852 1752refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
14823085910867 0 046557 852 1720refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
14824332010867 0 038573 852 1720T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
16103757915226 0 052821 860 1752refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
16104912915226 0 044837 860 1752T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
16256186014666 0 051640 860 1720refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808
16256462214666 0 043656 860 1720T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024081320240808

Test failure


error 111

Number of similar (implementation,compiler) pairs: 16, namely:
ImplementationCompiler
sseclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sseclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sseclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sseclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sseclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sseclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
sseclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sseclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
ssegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ssegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ssegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ssegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
ssegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ssegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


decrypt.c: decrypt.c:218: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:222: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:223: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:151: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:16:
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:60: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:16:
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:
ImplementationCompiler
avxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -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:       | ^
decrypt.c: In file included from fft_tr.h:11,
decrypt.c:                  from decrypt.c:16:
decrypt.c: vec256.h: In function 'vec256_load':
decrypt.c: vec256.h:14:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
decrypt.c:    14 | {
decrypt.c:       | ^
decrypt.c: In file included from fft_tr.h:11,
decrypt.c:                  from decrypt.c:16:
decrypt.c: vec256.h: In function 'vec256_and':
decrypt.c: vec256.h:72:22: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
decrypt.c:    72 | static inline vec256 vec256_and(vec256 a, vec256 b)
decrypt.c:       |                      ^~~~~~~~~~
decrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
decrypt.c:                  from vec256.h:9,
decrypt.c:                  from fft_tr.h:11,
decrypt.c:                  from decrypt.c:16:
decrypt.c: vec256.h: In function 'vec256_set1_16b':
decrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:1326:1: error: inlining failed in call to 'always_inline' '_mm256_set1_epi16': target specific option mismatch
decrypt.c:  1326 | _mm256_set1_epi16 (short __A)
decrypt.c:       | ^~~~~~~~~~~~~~~~~
decrypt.c: In file included from fft_tr.h:11,
decrypt.c:                  from decrypt.c:16:
decrypt.c: vec256.h:20:9: note: called from here
decrypt.c:    20 |  return _mm256_set1_epi16(a);
decrypt.c:       |         ^~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
avxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avxgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avxgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -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:11:
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: 2, namely:
ImplementationCompiler
sseclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sseclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Passed TIMECOP


TIMECOP iterations: 1

Number of similar (implementation,compiler) pairs: 18, namely:
ImplementationCompiler
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
vecclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
vecclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
vecclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
vecclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
vecgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)