Implementation notes: amd64, samba, crypto_aead/hs1sivv2

Computer: samba
Microarchitecture: amd64; Skylake (506e3)
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: hs1sivv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
675810819 0 030627 860 1024T:dolbeau/amd64-avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
728014742 0 038851 860 1088T:fasterclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
728112529 0 036061 820 1088T:fastergcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
728714710 0 038539 860 1056T:fasterclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
74109596 0 031021 820 1088T:fastergcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
76208441 0 027680 796 1056T:fastergcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
76617965 0 028877 852 1088T:fasterclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
79499233 0 030068 812 1088T:fastergcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
817012509 0 036115 860 1056T:dolbeau/amd64-avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
817514813 0 038699 860 1088T:dolbeau/amd64-avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
841710126 0 030757 852 1088T:dolbeau/amd64-avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
107729043 0 028819 860 1024T:dolbeau/amd64-sseclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1108124048 0 048021 820 1088T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1138011023 0 032861 820 1088T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1142611301 0 032540 812 1088T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
117419222 0 028856 796 1056T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1174213213 0 037107 860 1088T:dolbeau/amd64-sseclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1177610877 0 034475 860 1056T:dolbeau/amd64-sseclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
119698652 0 029285 852 1088T:dolbeau/amd64-sseclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
226618155 0 032235 860 1088T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
228147941 0 031795 860 1056T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
233337736 0 030163 860 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
308436876 0 030933 820 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
311406300 0 028165 820 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
331564793 0 024715 860 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
347014102 0 024973 852 1088T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
354494756 0 024432 796 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
555006301 0 027677 820 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Test failure


error 111

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:fasterclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:fasterclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: encrypt.c:422:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:324:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:541:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: encrypt.c:541:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: 6 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:422:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:324:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:541:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: encrypt.c:541:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: 6 warnings generated.

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:dolbeau/amd64-avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:dolbeau/amd64-avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:422:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:324:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:541:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: encrypt.c:541:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: 6 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:90:2: error: "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c:  ^
encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: encrypt.c:422:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:324:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:541:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: encrypt.c:541:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: 6 warnings and 1 error generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:85: warning: "_bswap64" redefined
encrypt.c:    85 | #define _bswap64(a) __builtin_bswap64(a)
encrypt.c:       |
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
encrypt.c:                  from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:273: note: this is the location of the previous definition
encrypt.c:   273 | #define _bswap64(a)             __bswapq(a)
encrypt.c:       |
encrypt.c: encrypt.c:86: warning: "_bswap" redefined
encrypt.c:    86 | #define _bswap(a) __builtin_bswap(a)
encrypt.c:       |
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
encrypt.c:                  from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:307: note: this is the location of the previous definition
encrypt.c:   307 | #define _bswap(a)               __bswapd(a)
encrypt.c:       |
encrypt.c: In file included from encrypt.c:194:
encrypt.c: encrypt.c: In function 'chacha_noxor176':
encrypt.c: c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:    71 |   __m128i t_15;
encrypt.c:       |           ^~~~
encrypt.c: c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:    70 |   __m128i t_14;
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:dolbeau/amd64-avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c:  ^
encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c:                    ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/avx512fintrin.h:9318:51: note: previous definition is here
encrypt.c: static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
encrypt.c:                                                   ^
encrypt.c: encrypt.c:335:21: error: invalid input size for constraint 'Yz'
encrypt.c:         : [a] "Yz" (a)
encrypt.c:                     ^
encrypt.c: encrypt.c:488:19: warning: unused variable 'kv20' [-Wunused-variable]
encrypt.c:           __m512i kv20 = _mm512_loadu_si512((const __m512i*)(nhkey+20)); // 2
encrypt.c:                   ^
encrypt.c: encrypt.c:480:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-avx512clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c:  ^
encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c:                    ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/avx512fintrin.h:9318:51: note: previous definition is here
encrypt.c: static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
encrypt.c:                                                   ^
encrypt.c: encrypt.c:335:21: error: invalid input size for constraint 'Yz'
encrypt.c:         : [a] "Yz" (a)
encrypt.c:                     ^
encrypt.c: encrypt.c:480:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:487:19: warning: unused variable 'kv16' [-Wunused-variable]
encrypt.c:           __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c:                   ^
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:dolbeau/amd64-avx512clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:dolbeau/amd64-avx512clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c:  ^
encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c:                    ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/avx512fintrin.h:9318:51: note: previous definition is here
encrypt.c: static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
encrypt.c:                                                   ^
encrypt.c: encrypt.c:335:21: error: invalid input size for constraint 'Yz'
encrypt.c:         : [a] "Yz" (a)
encrypt.c:                     ^
encrypt.c: encrypt.c:487:19: warning: unused variable 'kv16' [-Wunused-variable]
encrypt.c:           __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c:                   ^
encrypt.c: encrypt.c:480:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-avx512clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c:  ^
encrypt.c: In file included from encrypt.c:194:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:322:20: error: conflicting types for '_mm512_reduce_add_epi64'
encrypt.c: unsigned long long _mm512_reduce_add_epi64 (__m512i a) {
encrypt.c:                    ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/avx512fintrin.h:9318:51: note: previous definition is here
encrypt.c: static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
encrypt.c:                                                   ^
encrypt.c: encrypt.c:335:21: error: invalid input size for constraint 'Yz'
encrypt.c:         : [a] "Yz" (a)
encrypt.c:                     ^
encrypt.c: encrypt.c:488:19: warning: unused variable 'kv20' [-Wunused-variable]
encrypt.c:           __m512i kv20 = _mm512_loadu_si512((const __m512i*)(nhkey+20)); // 2
encrypt.c:                   ^
encrypt.c: encrypt.c:487:19: warning: unused variable 'kv16' [-Wunused-variable]
encrypt.c:           __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c:                   ^
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-avx512clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: encrypt.c:85: warning: "_bswap64" redefined
encrypt.c:    85 | #define _bswap64(a) __builtin_bswap64(a)
encrypt.c:       |
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
encrypt.c:                  from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:273: note: this is the location of the previous definition
encrypt.c:   273 | #define _bswap64(a)             __bswapq(a)
encrypt.c:       |
encrypt.c: encrypt.c:86: warning: "_bswap" redefined
encrypt.c:    86 | #define _bswap(a) __builtin_bswap(a)
encrypt.c:       |
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
encrypt.c:                  from encrypt.c:54:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:307: note: this is the location of the previous definition
encrypt.c:   307 | #define _bswap(a)               __bswapd(a)
encrypt.c:       |
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c:    90 | #error "This code requires AVX512F to work"
encrypt.c:       |  ^~~~~
encrypt.c: In file included from encrypt.c:194:
encrypt.c: encrypt.c: In function 'chacha_noxor176':
encrypt.c: c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:    71 |   __m128i t_15;
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:dolbeau/amd64-avx512gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-avx512gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-avx512gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-avx512gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: encrypt.c:418:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:311:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:558:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: encrypt.c:558:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: 6 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-sseclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: encrypt.c:418:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:311:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:558:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: encrypt.c:558:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: 6 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-sseclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:418:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:311:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:558:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: encrypt.c:558:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: 6 warnings generated.

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:dolbeau/amd64-sseclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:dolbeau/amd64-sseclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:   __m128i t_14;
encrypt.c:           ^
encrypt.c: ./c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:   __m128i t_15;
encrypt.c:           ^
encrypt.c: encrypt.c:418:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:       ALIGN32 uint64_t ia1[4];
encrypt.c:                        ^
encrypt.c: encrypt.c:311:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:     unsigned i=0, j;
encrypt.c:                   ^
encrypt.c: encrypt.c:558:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:            ^
encrypt.c: encrypt.c:558:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:                  ^
encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c:       VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c:       ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:dolbeau/amd64-sseclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


encrypt.c: In file included from encrypt.c:190:
encrypt.c: encrypt.c: In function 'chacha_noxor176':
encrypt.c: c176.h:71:11: warning: unused variable 't_15' [-Wunused-variable]
encrypt.c:    71 |   __m128i t_15;
encrypt.c:       |           ^~~~
encrypt.c: c176.h:70:11: warning: unused variable 't_14' [-Wunused-variable]
encrypt.c:    70 |   __m128i t_14;
encrypt.c:       |           ^~~~
encrypt.c: encrypt.c: In function 'prf_hash2_2':
encrypt.c: encrypt.c:418:24: warning: unused variable 'ia1' [-Wunused-variable]
encrypt.c:   418 |       ALIGN32 uint64_t ia1[4];
encrypt.c:       |                        ^~~
encrypt.c: encrypt.c:311:19: warning: unused variable 'j' [-Wunused-variable]
encrypt.c:   311 |     unsigned i=0, j;
encrypt.c:       |                   ^
encrypt.c: encrypt.c: In function 'hs1_data':
encrypt.c: encrypt.c:558:18: warning: variable 'mtot' set but not used [-Wunused-but-set-variable]
encrypt.c:   558 |   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:       |                  ^~~~
encrypt.c: encrypt.c:558:12: warning: variable 'atot' set but not used [-Wunused-but-set-variable]
encrypt.c:   558 |   unsigned atot, mtot, arnd64, mrnd64;
encrypt.c:       |            ^~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:dolbeau/amd64-ssegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-ssegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-ssegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:dolbeau/amd64-ssegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


chacha_moon.o _chacha_blocks T
chacha_moon.o chacha_blocks T
hs1.o hash_finalize T
hs1.o hash_step T
hs1.o hs1 T
hs1.o hs1_bzero T
hs1.o hs1_gen_siv T
hs1.o hs1_memcpy T
hs1.o hs1_setup T
hs1.o hs1siv_decrypt T
hs1.o hs1siv_encrypt T
hs1.o poly_finalize T

Number of similar (implementation,compiler) pairs: 7, namely:
ImplementationCompiler
T:fasterclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:fasterclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:fasterclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:fastergcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fastergcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fastergcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fastergcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


encrypt.o chacha T
encrypt.o chacha_ivsetup T
encrypt.o chacha_keysetup T
encrypt.o hs1 T
encrypt.o hs1_hash T
encrypt.o hs1siv_chacha256 T
encrypt.o hs1siv_decrypt T
encrypt.o hs1siv_encrypt T
encrypt.o hs1siv_subkeygen T
encrypt.o prf_hash2 T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)