Implementation notes: amd64, h3neo, crypto_kem/mceliece6960119pcf
Computer: h3neo
Microarchitecture: amd64; K10 45nm (100f63)
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: mceliece6960119pcf
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
2823334 | 110193 0 0 | 153352 876 1760 | T:vec | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
2832993 | 110193 0 0 | 159960 876 1760 | vec | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
3107461 | 99964 0 0 | 142631 900 1728 | T:vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
3128373 | 99964 0 0 | 149175 900 1728 | vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
3206401 | 105205 0 0 | 148351 900 1728 | T:vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
3213367 | 105205 0 0 | 154895 900 1728 | vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
4136901 | 42447 0 0 | 82609 900 1728 | T:vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
4146437 | 42447 0 0 | 89217 900 1728 | vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
4350982 | 47552 0 0 | 88495 908 1728 | T:vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
4357012 | 47552 0 0 | 95103 908 1728 | vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
4904262 | 48431 0 0 | 97088 876 1760 | vec | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
4929000 | 48431 0 0 | 90480 876 1760 | T:vec | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
5788287 | 41060 0 0 | 80848 868 1728 | T:vec | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
5798436 | 41060 0 0 | 87392 868 1728 | vec | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
6308760 | 46902 0 0 | 94312 876 1760 | vec | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
6335463 | 46902 0 0 | 87768 876 1760 | T:vec | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240625 |
509190858 | 46253 0 0 | 85914 884 1760 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
509214551 | 46253 0 0 | 79370 884 1760 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
514662333 | 45389 0 0 | 77857 908 1728 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
514762594 | 45389 0 0 | 84465 908 1728 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
516502627 | 48892 0 0 | 81817 908 1728 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
516709520 | 48892 0 0 | 88425 908 1728 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
632088702 | 15533 0 0 | 46161 908 1728 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
632159598 | 15533 0 0 | 52769 908 1728 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
686575340 | 18327 0 0 | 56714 884 1760 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
686591644 | 18327 0 0 | 50106 884 1760 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
727197553 | 17042 0 0 | 47576 876 1760 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
727252802 | 17042 0 0 | 54120 876 1760 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
817072046 | 14558 0 0 | 51131 900 1728 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
817292908 | 14558 0 0 | 44523 900 1728 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
1097300533 | 14340 0 0 | 43794 876 1728 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
1099565022 | 14340 0 0 | 50338 876 1728 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240625 |
Checksum failure
0f8165c245171a8c167eae4ffe6f12a5196e152a5314a8ad5c24adaf1ba34024
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Checksum failure
069514121511b5d860560b97142ad627ce67f15cb3a20a9357beadb9a13b3fe9
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
bm.c: bm.c:79:37: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: for (i = 13; i < 16; i++) buf[i] = vec256_setzero();
bm.c: ^
bm.c: bm.c:81:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[0][0] = vec256_set1_16b(0x5555);
bm.c: ^
bm.c: bm.c:82:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[0][1] = vec256_set1_16b(0xAAAA);
bm.c: ^
bm.c: bm.c:83:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[1][0] = vec256_set1_16b(0x3333);
bm.c: ^
bm.c: bm.c:84:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[1][1] = vec256_set1_16b(0xCCCC);
bm.c: ^
bm.c: bm.c:85:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[2][0] = vec256_set1_16b(0x0F0F);
bm.c: ^
bm.c: bm.c:86:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[2][1] = vec256_set1_16b(0xF0F0);
bm.c: ^
bm.c: bm.c:87:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: mask[3][0] = vec256_set1_16b(0x00FF);
bm.c: ^
bm.c: bm.c:88:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: ...
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
benes.c: In file included from transpose.h:12,
benes.c: from benes.c:16:
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 bm.h:12,
bm.c: from bm.c:23:
bm.c: vec256.h: In function 'vec256_load':
bm.c: vec256.h:14:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
bm.c: 14 | {
bm.c: | ^
bm.c: In file included from bm.h:12,
bm.c: from bm.c:23:
bm.c: vec256.h: In function 'vec256_and':
bm.c: vec256.h:72:22: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
bm.c: 72 | static inline vec256 vec256_and(vec256 a, vec256 b)
bm.c: | ^~~~~~~~~~
bm.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
bm.c: from vec256.h:9,
bm.c: from bm.h:12,
bm.c: from bm.c:23:
bm.c: vec256.h: In function 'vec256_set1_16b':
bm.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1333:1: error: inlining failed in call to 'always_inline' '_mm256_set1_epi16': target specific option mismatch
bm.c: 1333 | _mm256_set1_epi16 (short __A)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:12,
bm.c: from bm.c:23:
bm.c: vec256.h:20:16: note: called from here
bm.c: 20 | return _mm256_set1_epi16(a);
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 (11.4.0) |
T:avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
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 (Ubuntu_Clang_14.0.0) |
T:sse | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
sse | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
sse | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
sse | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
sse | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
bm.c: In file included from vec128.h:10,
bm.c: from bm.h:11,
bm.c: from bm.c:15:
bm.c: bm.c: In function 'get_coefs':
bm.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/smmintrin.h:455:1: error: inlining failed in call to 'always_inline' '_mm_extract_epi64': target specific option mismatch
bm.c: 455 | _mm_extract_epi64 (__m128i __X, const int __N)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:11,
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:117:44: note: in expansion of macro 'vec128_extract'
bm.c: 117 | 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:11,
bm.c: from bm.c:15:
bm.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/smmintrin.h:455:1: error: inlining failed in call to 'always_inline' '_mm_extract_epi64': target specific option mismatch
bm.c: 455 | _mm_extract_epi64 (__m128i __X, const int __N)
bm.c: | ^~~~~~~~~~~~~~~~~
bm.c: In file included from bm.h:11,
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 (11.4.0) |
T:sse | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
sse | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
sse | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
sse | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse | gcc -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 0x10AF9C
at 0x...: mov_columns (pk_gen.c:54)
by 0x...: crypto_kem_mceliece6960119pcf_ref_constbranchindex_pk_gen (pk_gen.c:208)
by 0x...: crypto_kem_mceliece6960119pcf_ref_constbranchindex_operation_keypair (kem_keypair.c:74)
by 0x...: crypto_kem_mceliece6960119pcf_ref_constbranchindex_keypair (wrap_keypair.c:10)
by 0x...: test (try.c:126)
by 0x...: main (try-anything.c:345)
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 15, namely:
Implementation | Compiler |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |