Implementation notes: amd64, speed2supercop, crypto_encrypt/lotus192
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_encrypt
Primitive: lotus192
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
563200 | 25451 0 8 | 53337 880 1664 | T:avx2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
584508 | 12864 0 8 | 38713 880 1664 | T:avx2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
727704 | 38039 0 8 | 65825 880 1664 | T:opt | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
1072040 | 31306 0 8 | 59113 880 1664 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
1850420 | 47721 0 8 | 76875 904 1600 | T:opt | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
2068680 | 55051 0 8 | 84363 904 1600 | T:opt | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
2146396 | 26577 0 8 | 55675 904 1600 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
2155148 | 47748 0 8 | 75683 904 1568 | T:opt | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
2430760 | 29570 0 8 | 57467 904 1568 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
4072672 | 11785 0 8 | 37956 896 1632 | T:opt | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
4387820 | 13132 0 8 | 38969 880 1664 | T:opt | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
6427948 | 10126 0 8 | 34681 872 1632 | T:avx2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
6482396 | 15258 0 8 | 40635 904 1568 | T:opt | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
6791408 | 9711 0 8 | 34947 904 1568 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
6985176 | 8399 0 8 | 34532 896 1632 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
7445400 | 9781 0 8 | 35585 880 1664 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
10190236 | 7822 0 8 | 32297 872 1632 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
10217504 | 10184 0 8 | 34769 872 1632 | T:opt | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
Test failure
error 111
crypto_encrypt_open returns nonzero
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_16.0.6_(27+b1)) |
T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
Test failure
error 111
crypto_encrypt_open does not match mlen
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Compiler output
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:211:5: warning: array index 4 is past the end of the array (that has type '__m256i[4]') [-Warray-bounds]
lwe-arithmetics_avx2.c: c[4] = _mm256_loadu_si256((__m256i*)(C + 64));
lwe-arithmetics_avx2.c: ^ ~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:3: note: array 'c' declared here
lwe-arithmetics_avx2.c: __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:212:5: warning: array index 5 is past the end of the array (that has type '__m256i[4]') [-Warray-bounds]
lwe-arithmetics_avx2.c: c[5] = _mm256_loadu_si256((__m256i*)(C + 80));
lwe-arithmetics_avx2.c: ^ ~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:3: note: array 'c' declared here
lwe-arithmetics_avx2.c: __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:220:7: warning: array index 4 is past the end of the array (that has type '__m256i[4]') [-Warray-bounds]
lwe-arithmetics_avx2.c: b[4] = _mm256_loadu_si256((__m256i*)(p + 64));
lwe-arithmetics_avx2.c: ^ ~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:3: note: array 'b' declared here
lwe-arithmetics_avx2.c: __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:221:7: warning: array index 5 is past the end of the array (that has type '__m256i[4]') [-Warray-bounds]
lwe-arithmetics_avx2.c: b[5] = _mm256_loadu_si256((__m256i*)(p + 80));
lwe-arithmetics_avx2.c: ^ ~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:3: note: array 'b' declared here
lwe-arithmetics_avx2.c: __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:226:33: warning: array index 4 is past the end of the array (that has type '__m256i[4]') [-Warray-bounds]
lwe-arithmetics_avx2.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
Compiler output
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:158:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: c[0] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:158:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:159:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: c[1] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:159:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:160:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: c[2] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:160:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:161:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: c[3] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:161:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:162:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: c[4] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:162:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:163:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: c[5] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:163:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:166:11: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx'
lwe-arithmetics_avx2.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
Compiler output
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c: In function 'submat_submul':
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:211:6: warning: array subscript 4 is above array bounds of '__m256i[4]' [-Warray-bounds=]
lwe-arithmetics_avx2.c: 211 | c[4] = _mm256_loadu_si256((__m256i*)(C + 64));
lwe-arithmetics_avx2.c: | ~^~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:20: note: while referencing 'c'
lwe-arithmetics_avx2.c: 204 | __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: | ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:212:6: warning: array subscript 5 is above array bounds of '__m256i[4]' [-Warray-bounds=]
lwe-arithmetics_avx2.c: 212 | c[5] = _mm256_loadu_si256((__m256i*)(C + 80));
lwe-arithmetics_avx2.c: | ~^~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:20: note: while referencing 'c'
lwe-arithmetics_avx2.c: 204 | __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: | ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:240:5: warning: array subscript 4 is above array bounds of '__m256i[4]' [-Warray-bounds=]
lwe-arithmetics_avx2.c: 240 | _mm256_storeu_si256((__m256i*)(C + 64), c[4]);
lwe-arithmetics_avx2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:20: note: while referencing 'c'
lwe-arithmetics_avx2.c: 204 | __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: | ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:241:5: warning: array subscript 5 is above array bounds of '__m256i[4]' [-Warray-bounds=]
lwe-arithmetics_avx2.c: 241 | _mm256_storeu_si256((__m256i*)(C + 80), c[5]);
lwe-arithmetics_avx2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:204:20: note: while referencing 'c'
lwe-arithmetics_avx2.c: 204 | __m256i a, b[4], c[4];
lwe-arithmetics_avx2.c: | ^
lwe-arithmetics_avx2.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |