Implementation notes: amd64, lucienne, crypto_hash/lsh512
Computer: lucienne
Microarchitecture: amd64; Zen 2 (860f81)
Architecture: amd64
CPU ID: AuthenticAMD-00860f81-178bfbff
SUPERCOP version: 20240808
Operation: crypto_hash
Primitive: lsh512
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
4618 | 14574 0 0 | 17992 780 952 | avx2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4672 | 15002 0 0 | 17830 804 888 | avx2 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4684 | 17571 0 0 | 20624 812 920 | avx2 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4708 | 14967 0 0 | 19856 812 920 | avx2 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4713 | 14681 0 0 | 17366 804 888 | avx2 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4738 | 15111 0 0 | 20392 780 952 | avx2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4747 | 15247 0 0 | 18768 780 952 | avx2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
4990 | 13583 0 0 | 16451 756 920 | avx2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
6330 | 21943 0 0 | 23536 812 920 | ssse3 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
6347 | 21943 0 0 | 23424 812 920 | ssse3 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
6364 | 21691 0 0 | 20950 804 888 | ssse3 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
6414 | 22202 0 0 | 21478 804 888 | ssse3 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
6692 | 25311 0 0 | 23800 780 952 | ssse3 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
6707 | 25207 0 0 | 25440 780 952 | ssse3 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
7136 | 24535 0 0 | 24784 812 920 | sse2 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
7140 | 24535 0 0 | 24672 812 920 | sse2 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
7149 | 24287 0 0 | 22198 804 888 | sse2 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
7170 | 24730 0 0 | 22694 804 888 | sse2 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
7441 | 21949 0 0 | 20635 756 920 | ssse3 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
7882 | 24336 0 0 | 22872 780 952 | ssse3 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
8154 | 29159 0 0 | 27000 812 920 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
8268 | 29143 0 0 | 26848 812 920 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
8604 | 29967 0 0 | 26128 780 952 | sse2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
8628 | 29903 0 0 | 27792 780 952 | sse2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
8928 | 29735 0 0 | 27536 812 888 | sse2 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
9273 | 28143 0 0 | 23998 804 888 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
9358 | 26271 0 0 | 22795 756 920 | sse2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
9708 | 28922 0 0 | 25176 780 952 | sse2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
11131 | 34446 0 0 | 27928 780 952 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
11638 | 32373 0 0 | 25859 756 920 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
12105 | 39237 0 0 | 30760 780 952 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
12150 | 37797 0 0 | 31736 780 952 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
12685 | 34135 0 0 | 29944 812 888 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15614 | 2589 336 0 | 1719340 144892 10360 | cryptopp | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15630 | 2792 336 0 | 1717446 144900 10360 | cryptopp | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15661 | 2331 336 0 | 1425412 144924 10296 | cryptopp | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15689 | 2429 336 0 | 1716782 144900 10360 | cryptopp | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
16323 | 2331 336 0 | 1425268 144924 10296 | cryptopp | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
16341 | 1872 336 0 | 1715562 144900 10328 | cryptopp | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
16383 | 4754 336 0 | 1428650 145028 10264 | cryptopp | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
25947 | 52138 0 0 | 36654 804 888 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
36285 | 2611 336 0 | 1423421 144916 10264 | cryptopp | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
Compiler output
lsh-impl.c: lsh-impl.c:182:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:183:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: 2 warnings generated.
lsh.c: lsh.c:182:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c: 0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c: { }
lsh.c: lsh.c:183:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c: 0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c: { }
lsh.c: 2 warnings generated.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
lsh-impl.c: lsh-impl.c:182:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:183:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:461:12: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c: cv_l[0] = _mm256_set_epi32(0, 0, 0, 0, 0, LSH_GET_HASHBIT(algtype), 0, LSH512_HASH_VAL_MAX_BYTE_LEN);
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:461:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:462:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c: cv_l[1] = _mm256_setzero_si256();
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:462:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:463:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c: cv_r[0] = _mm256_setzero_si256();
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:463:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:464:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c: cv_r[1] = _mm256_setzero_si256();
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:464:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
lsh-impl.c: lsh-impl.c:465:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'lsh512_init' that is compiled without support for 'avx'
lsh-impl.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
lsh-impl.c: lsh-impl.c:181:62: warning: missing braces around initializer [-Wmissing-braces]
lsh-impl.c: 181 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[2][4] = {
lsh-impl.c: | ^
lsh-impl.c: 182 | 0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh-impl.c: | { }
lsh-impl.c: 183 | 0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh-impl.c: | {
lsh-impl.c: 184 | };
lsh-impl.c: | }
lsh.c: lsh.c:181:62: warning: missing braces around initializer [-Wmissing-braces]
lsh.c: 181 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[2][4] = {
lsh.c: | ^
lsh.c: 182 | 0x0706050403020100, 0x0d0c0b0a09080f0e, 0x1312111017161514, 0x19181f1e1d1c1b1a,
lsh.c: | { }
lsh.c: 183 | 0x0605040302010007, 0x0c0b0a09080f0e0d, 0x1211101716151413, 0x181f1e1d1c1b1a19
lsh.c: | {
lsh.c: 184 | };
lsh.c: | }
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
lsh-impl.c: lsh-impl.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:178:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:179:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:180:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:182:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh-impl.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c: ^
lsh-impl.c: 5 warnings generated.
lsh.c: lsh.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c: 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c: { }
lsh.c: lsh.c:178:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c: 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c: { }
lsh.c: lsh.c:179:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c: 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c: { }
lsh.c: lsh.c:180:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh.c: 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh.c: { }
lsh.c: lsh.c:182:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh.c: ^
lsh.c: 5 warnings generated.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
ssse3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
lsh-impl.c: lsh-impl.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:178:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:179:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:180:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:182:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh-impl.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:348:12: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'rotate_msg_gamma' that is compiled without support for 'ssse3'
lsh-impl.c: cv_r[0] = SHUFFLE8(cv_r[0], perm_step[0]);
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:199:23: note: expanded from macro 'SHUFFLE8'
lsh-impl.c: #define SHUFFLE8(x,y) _mm_shuffle_epi8(x,y)
lsh-impl.c: ^
lsh-impl.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
ssse3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
lsh-impl.c: lsh-impl.c:176:62: warning: missing braces around initializer [-Wmissing-braces]
lsh-impl.c: 176 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[4][2] = {
lsh-impl.c: | ^
lsh-impl.c: 177 | 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c: | { }
lsh-impl.c: 178 | 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c: | { }
lsh-impl.c: 179 | 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c: | { }
lsh-impl.c: 180 | 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c: | {
lsh-impl.c: 181 | };
lsh-impl.c: | }
lsh-impl.c: lsh-impl.c:182:39: warning: 'g_MsgWordPermInfo' defined but not used [-Wunused-const-variable=]
lsh-impl.c: 182 | static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c: | ^~~~~~~~~~~~~~~~~
lsh.c: lsh.c:176:62: warning: missing braces around initializer [-Wmissing-braces]
lsh.c: 176 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[4][2] = {
lsh.c: | ^
lsh.c: 177 | 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh.c: | { }
lsh.c: 178 | 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh.c: | { }
lsh.c: 179 | 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh.c: | { }
lsh.c: 180 | 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh.c: | {
lsh.c: 181 | };
lsh.c: | }
lsh.c: lsh.c:182:39: warning: 'g_MsgWordPermInfo' defined but not used [-Wunused-const-variable=]
lsh.c: 182 | static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh.c: | ^~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
ssse3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
lsh-impl.c: lsh-impl.c:174:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:175:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:176:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:177:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
lsh-impl.c: 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: { }
lsh-impl.c: lsh-impl.c:179:39: warning: unused variable 'g_MsgWordPermInfo' [-Wunused-const-variable]
lsh-impl.c: static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c: ^
lsh-impl.c: lsh-impl.c:310:10: error: '__builtin_ia32_vprotqi' needs target feature xop
lsh-impl.c: cv[0] = _mm_roti_epi64(cv[0], ROT_EVEN_ALPHA);
lsh-impl.c: ^
lsh-impl.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/xopintrin.h:237:12: note: expanded from macro '_mm_roti_epi64'
lsh-impl.c: (__m128i)__builtin_ia32_vprotqi((__v2di)(__m128i)(A), (N))
lsh-impl.c: ^
lsh-impl.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
xop | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
xop | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
xop | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
xop | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
xop | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
lsh-impl.c: lsh-impl.c:173:62: warning: missing braces around initializer [-Wmissing-braces]
lsh-impl.c: 173 | static const LSH_ALIGNED_(32) lsh_u64 g_BytePermInfo[4][2] = {
lsh-impl.c: | ^
lsh-impl.c: 174 | 0x0706050403020100, 0x0d0c0b0a09080f0e,
lsh-impl.c: | { }
lsh-impl.c: 175 | 0x0302010007060504, 0x09080f0e0d0c0b0a,
lsh-impl.c: | { }
lsh-impl.c: 176 | 0x0605040302010007, 0x0c0b0a09080f0e0d,
lsh-impl.c: | { }
lsh-impl.c: 177 | 0x0201000706050403, 0x080f0e0d0c0b0a09
lsh-impl.c: | {
lsh-impl.c: 178 | };
lsh-impl.c: | }
lsh-impl.c: lsh-impl.c:179:39: warning: 'g_MsgWordPermInfo' defined but not used [-Wunused-const-variable=]
lsh-impl.c: 179 | static const LSH_ALIGNED_(32) lsh_u64 g_MsgWordPermInfo[4] = {
lsh-impl.c: | ^~~~~~~~~~~~~~~~~
lsh-impl.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:38,
lsh-impl.c: from lsh-impl.c:35:
lsh-impl.c: lsh-impl.c: In function 'rotate_blk_even_alpha':
lsh-impl.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/xopintrin.h:272:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi64': target specific option mismatch
lsh-impl.c: 272 | _mm_roti_epi64(__m128i __A, const int __B)
lsh-impl.c: | ^~~~~~~~~~~~~~
lsh-impl.c: lsh-impl.c:313:10: note: called from here
lsh-impl.c: 313 | cv[3] = _mm_roti_epi64(cv[3], ROT_EVEN_ALPHA);
lsh-impl.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsh-impl.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
xop | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
xop | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
xop | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
xop | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Namespace violations
lsh-impl.o lsh512_digest T
lsh-impl.o lsh512_final T
lsh-impl.o lsh512_init T
lsh-impl.o lsh512_update T
lsh.o lsh512_digest T
lsh.o lsh512_final T
lsh.o lsh512_init T
lsh.o lsh512_update T
Number of similar (implementation,compiler) pairs: 34, namely:
Implementation | Compiler |
avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
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) |
sse2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 42, namely:
Implementation | Compiler |
avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
cryptopp | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
cryptopp | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
cryptopp | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
cryptopp | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
cryptopp | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
cryptopp | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
cryptopp | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
cryptopp | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall |
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) |
sse2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
sse2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
sse2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ssse3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ssse3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |