Implementation notes: amd64, hydra4, crypto_kem/lac256
Computer: hydra4
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: lac256
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
3020418 | 24543 77992 1100 | 40309 78892 2776 | T:opt | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
3021140 | 29099 77992 1100 | 45053 78892 2776 | T:opt | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
3021464 | 29275 77992 1100 | 45245 78892 2776 | T:opt | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
3299982 | 17252 77992 1100 | 31835 78884 2776 | T:opt | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
4230023 | 19614 77992 1100 | 34771 78884 2776 | T:opt | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
4266551 | 19246 78016 1116 | 34010 78900 2840 | T:opt | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
4290233 | 27395 78016 1116 | 43514 78900 2840 | T:opt | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
4818216 | 14821 78016 1116 | 29498 78892 2808 | T:opt | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
15233913 | 16449 0 60 | 31003 884 1720 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
16248932 | 27982 0 60 | 43933 892 1720 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
16663939 | 27806 0 60 | 43741 892 1720 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
17314722 | 23522 0 60 | 39253 892 1720 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
32152878 | 18392 0 60 | 33563 884 1720 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
32823143 | 19326 0 60 | 34778 876 1784 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
33368263 | 18155 0 60 | 32714 876 1784 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
37994202 | 13844 0 60 | 28338 868 1752 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
91430909 | 27472 0 60 | 43354 876 1784 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240708 | 20240625 |
Checksum failure
26c27ad8a75f280cab6a5227338dd1d1e63d765892d6226a2b0f03e979521ab3
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
bin-lwe.c: bin-lwe.c:91:10: error: always_inline function '_mm256_set_epi16' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:91:10: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:103:9: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: tmp2 =_mm256_setzero_si256();
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:103:9: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:106:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:106:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:107:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: tmp1 = _mm256_loadu_si256((__m256i *)(s+j));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:107:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:108:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'avx2', but would be inlined into function 'poly_mul' that is compiled without support for 'avx2'
bin-lwe.c: tmp0 = _mm256_maddubs_epi16(tmp0, tmp1);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:108:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:109:11: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'poly_mul' that is compiled without support for 'avx2'
bin-lwe.c: tmp2 = _mm256_add_epi16(tmp2, tmp0);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:109:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:111:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
bin-lwe.c: bin-lwe.c: In function 'poly_mul':
bin-lwe.c: bin-lwe.c:91:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
bin-lwe.c: 91 | tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
bin-lwe.c: from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:1266:1: error: inlining failed in call to 'always_inline' '_mm256_set_epi16': target specific option mismatch
bin-lwe.c: 1266 | _mm256_set_epi16 (short __q15, short __q14, short __q13, short __q12,
bin-lwe.c: | ^~~~~~~~~~~~~~~~
bin-lwe.c: bin-lwe.c:91:10: note: called from here
bin-lwe.c: 91 | tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
bin-lwe.c: from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:1235:1: error: inlining failed in call to 'always_inline' '_mm256_setzero_si256': target specific option mismatch
bin-lwe.c: 1235 | _mm256_setzero_si256 (void)
bin-lwe.c: | ^~~~~~~~~~~~~~~~~~~~
bin-lwe.c: bin-lwe.c:103:9: note: called from here
bin-lwe.c: 103 | tmp2 =_mm256_setzero_si256();
bin-lwe.c: | ^~~~~~~~~~~~~~~~~~~~~~
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
bin-lwe.c: from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:112:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi16': target specific option mismatch
bin-lwe.c: 112 | _mm256_add_epi16 (__m256i __A, __m256i __B)
bin-lwe.c: | ^~~~~~~~~~~~~~~~
bin-lwe.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |