Implementation notes: amd64, hydra5, crypto_aead/aes256gcmv1
Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes256gcmv1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
172713 | 35550 3040 0 | 1819794 148332 11008 | T:cryptopp | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
173975 | 35895 3040 0 | 1823456 148332 11008 | T:cryptopp | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
174263 | 21300 6160 0 | 1822105 150964 10912 | T:cryptopp | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
174533 | 39326 3040 0 | 1827607 148316 11008 | T:cryptopp | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
174694 | 15854 4072 0 | 1792427 149140 10976 | T:cryptopp | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
175542 | 17769 3040 0 | 1815045 148404 10912 | T:cryptopp | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
175553 | 16893 3040 0 | 1813313 148404 10912 | T:cryptopp | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
177242 | 14065 2456 0 | 1809618 148388 10912 | T:cryptopp | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
195841 | 893 0 0 | 23247 940 1024 | T:opensslnew | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
195851 | 1120 0 0 | 25627 900 1056 | T:opensslnew | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
195904 | 1177 0 0 | 23266 892 1056 | T:opensslnew | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
195939 | 893 0 0 | 24135 940 1024 | T:opensslnew | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
196007 | 893 0 0 | 20993 932 1024 | T:opensslnew | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
196012 | 893 0 0 | 24135 940 1024 | T:opensslnew | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
196045 | 890 0 0 | 21679 940 1024 | T:opensslnew | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
196090 | 1120 0 0 | 24291 900 1056 | T:opensslnew | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
196434 | 1041 0 0 | 21422 876 1056 | T:opensslnew | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
4019981 | 2872 0 16 | 30840 860 1056 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
4021430 | 2872 0 16 | 31728 860 1056 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
4022013 | 2872 0 16 | 31728 860 1056 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
4400201 | 3950 0 16 | 33445 804 1120 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
7742751 | 1663 0 16 | 27378 852 1056 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
17093224 | 1899 0 16 | 28328 860 1056 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
20663886 | 2294 0 16 | 29412 796 1120 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
21691831 | 1935 0 16 | 27416 780 1088 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
23474205 | 2595 0 16 | 30781 804 1120 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
71040449 | 2872 0 16 | 29048 860 1056 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
71069376 | 2872 0 16 | 29048 860 1056 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
71103781 | 2872 0 16 | 28160 860 1056 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
71518508 | 3950 0 16 | 30781 804 1120 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
74763375 | 1663 0 16 | 24682 852 1056 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
84127692 | 1899 0 16 | 25632 860 1056 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
87681773 | 2294 0 16 | 26716 796 1120 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
88702590 | 1935 0 16 | 24720 780 1088 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
90513891 | 2595 0 16 | 28085 804 1120 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
Compiler output
aesenc-int.c: aesenc-int.c:270:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:364:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:468:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:468:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:665:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_aead_aes256gcmv1_dolbeau_aesenc_int_constbranchindex_encrypt' that is compiled without support for 'ssse3'
aesenc-int.c: __m128i Hv = _mm_shuffle_epi8(_mm_loadu_si128((const __m128i*)H), rev);
aesenc-int.c: ^
aesenc-int.c: 5 warnings and 1 error generated.
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
dolbeau/aesenc-int | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
dolbeau/aesenc-int | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
aesenc-int.c: aesenc-int.c:270:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:364:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:468:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:468:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:665:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_aead_aes256gcmv1_dolbeau_aesenc_int_constbranchindex_encrypt' that is compiled without support for 'ssse3'
aesenc-int.c: __m128i Hv = _mm_shuffle_epi8(_mm_loadu_si128((const __m128i*)H), rev);
aesenc-int.c: ^
aesenc-int.c: 5 warnings and 1 error generated.
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
dolbeau/aesenc-int | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
dolbeau/aesenc-int | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
aesenc-int.c: aesenc-int.c:270:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:364:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:468:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:468:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:665:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_aead_aes256gcmv1_dolbeau_aesenc_int_constbranchindex_encrypt' that is compiled without support for 'ssse3'
aesenc-int.c: __m128i Hv = _mm_shuffle_epi8(_mm_loadu_si128((const __m128i*)H), rev);
aesenc-int.c: ^
aesenc-int.c: 5 warnings and 1 error generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
dolbeau/aesenc-int | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
aesenc-int.c: aesenc-int.c:25: warning: "_bswap64" redefined
aesenc-int.c: 25 | #define _bswap64(a) __builtin_bswap64(a)
aesenc-int.c: |
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:273: note: this is the location of the previous definition
aesenc-int.c: 273 | #define _bswap64(a) __bswapq(a)
aesenc-int.c: |
aesenc-int.c: aesenc-int.c:26: warning: "_bswap" redefined
aesenc-int.c: 26 | #define _bswap(a) __builtin_bswap32(a)
aesenc-int.c: |
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:307: note: this is the location of the previous definition
aesenc-int.c: 307 | #define _bswap(a) __bswapd(a)
aesenc-int.c: |
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:98: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
aesenc-int.c: 98 | #pragma unroll(13)
aesenc-int.c: |
aesenc-int.c: aesenc-int.c: In function 'addmul':
aesenc-int.c: aesenc-int.c:217:64: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
aesenc-int.c: 217 | unsigned long long mask = -1ull ^ (1ull<<(((16-xlen)%8)*8))-1ull;
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
dolbeau/aesenc-int | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
dolbeau/aesenc-int | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
dolbeau/aesenc-int | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
dolbeau/aesenc-int | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
vaesenc-int.c: vaesenc-int.c:16:2: error: "This code requires AVX enabled in the compiler."
vaesenc-int.c: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:20:2: error: "This code requires VAES enabled in the compiler."
vaesenc-int.c: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:446:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m256i rev = _mm256_broadcastsi128_si256(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c: __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: unsigned long long mlen_rnd256 = mlen & ~255ull;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
dolbeau/vaesenc-int | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
dolbeau/vaesenc-int | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
vaesenc-int.c: vaesenc-int.c:16:2: error: "This code requires AVX enabled in the compiler."
vaesenc-int.c: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:20:2: error: "This code requires VAES enabled in the compiler."
vaesenc-int.c: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:446:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m256i rev = _mm256_broadcastsi128_si256(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c: __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: unsigned long long mlen_rnd256 = mlen & ~255ull;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
dolbeau/vaesenc-int | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
vaesenc-int.c: vaesenc-int.c:16:2: error: "This code requires AVX enabled in the compiler."
vaesenc-int.c: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:20:2: error: "This code requires VAES enabled in the compiler."
vaesenc-int.c: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:446:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m256i rev = _mm256_broadcastsi128_si256(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c: __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: unsigned long long mlen_rnd256 = mlen & ~255ull;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
dolbeau/vaesenc-int | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
vaesenc-int.c: vaesenc-int.c:16:2: error: "This code requires AVX enabled in the compiler."
vaesenc-int.c: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:20:2: error: "This code requires VAES enabled in the compiler."
vaesenc-int.c: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:446:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: const __m256i rev = _mm256_broadcastsi128_si256(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c: __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c: __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: unsigned long long mlen_rnd256 = mlen & ~255ull;
vaesenc-int.c: ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
dolbeau/vaesenc-int | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
vaesenc-int.c: vaesenc-int.c:16:2: error: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c: 16 | #error "This code requires AVX enabled in the compiler."
vaesenc-int.c: | ^~~~~
vaesenc-int.c: vaesenc-int.c:20:2: error: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c: 20 | #error "This code requires VAES enabled in the compiler."
vaesenc-int.c: | ^~~~~
vaesenc-int.c: vaesenc-int.c: In function 'aesni_encrypt1':
vaesenc-int.c: vaesenc-int.c:139: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
vaesenc-int.c: 139 | #pragma unroll(13)
vaesenc-int.c: |
vaesenc-int.c: vaesenc-int.c: In function 'aesni_encryptv2':
vaesenc-int.c: vaesenc-int.c:316: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
vaesenc-int.c: 316 | #pragma unroll(13)
vaesenc-int.c: |
vaesenc-int.c: vaesenc-int.c: In function 'addmul':
vaesenc-int.c: vaesenc-int.c:350:64: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
vaesenc-int.c: 350 | unsigned long long mask = -1ull ^ (1ull<<(((16-xlen)%8)*8))-1ull;
vaesenc-int.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
vaesenc-int.c: vaesenc-int.c: In function 'mulv':
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c: 403 | const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c: | ^~~
vaesenc-int.c: vaesenc-int.c: In function 'mulvv2':
vaesenc-int.c: vaesenc-int.c:445:30: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
vaesenc-int.c: 445 | __m256i B) {
vaesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
dolbeau/vaesenc-int | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
dolbeau/vaesenc-int | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
dolbeau/vaesenc-int | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
dolbeau/vaesenc-int | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
decrypt.c: decrypt.c:13:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
decrypt.c: EVP_CIPHER_CTX x;
decrypt.c: ^
decrypt.c: /usr/include/openssl/types.h:102:16: note: forward declaration of 'struct evp_cipher_ctx_st'
decrypt.c: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
decrypt.c: ^
decrypt.c: 1 error generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:openssl | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:openssl | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:openssl | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:openssl | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:openssl | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
decrypt.c: decrypt.c: In function 'crypto_aead_aes256gcmv1_openssl_timingleaks_decrypt':
decrypt.c: decrypt.c:13:18: error: storage size of 'x' isn't known
decrypt.c: 13 | EVP_CIPHER_CTX x;
decrypt.c: | ^
decrypt.c: decrypt.c:13:18: warning: unused variable 'x' [-Wunused-variable]
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:openssl | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:openssl | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:openssl | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:openssl | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
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 -march=native -Os -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) |