Implementation notes: amd64, margaux, crypto_stream/aes128ctr
Computer: margaux
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_stream
Primitive: aes128ctr
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
17905 | 423 0 0 | 13204 892 960 | T:openssl | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
17906 | 437 0 0 | 13978 900 960 | T:openssl | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
17966 | 428 0 0 | 15298 900 960 | T:openssl | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
17966 | 428 0 0 | 16410 900 960 | T:openssl | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
18044 | 535 0 0 | 13734 852 992 | T:openssl | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
18060 | 629 0 0 | 15571 876 992 | T:openssl | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
18134 | 766 0 0 | 16971 876 992 | T:openssl | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
18167 | 610 0 0 | 15139 876 992 | T:openssl | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
18275 | 428 0 0 | 16186 900 960 | T:openssl | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38385 | 12233 2064 0 | 1723895 145468 10304 | T:cryptopp | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38570 | 9350 1480 0 | 1718037 145452 10304 | T:cryptopp | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38667 | 9562 3272 0 | 1717875 146484 10368 | T:cryptopp | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38682 | 14949 4848 0 | 1731135 147828 10304 | T:cryptopp | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38759 | 12151 2064 0 | 1722723 145468 10304 | T:cryptopp | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38762 | 20491 2800 0 | 1726159 145420 10400 | T:cryptopp | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
38845 | 22805 2800 0 | 1729486 145404 10400 | T:cryptopp | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
39055 | 20385 2800 0 | 1725277 145420 10400 | T:cryptopp | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
Compiler output
aesenc-int.c: aesenc-int.c:29:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:59:20: warning: unused function 'aesni_encrypt1' [-Wunused-function]
aesenc-int.c: static inline void aesni_encrypt1(unsigned char *out, unsigned char *n, __m128i rkeys[16]) {
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:75:20: warning: unused function 'incle' [-Wunused-function]
aesenc-int.c: static inline void incle(unsigned char n[16]) {
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:173:1: warning: unused function 'aesni_encrypt4' [-Wunused-function]
aesenc-int.c: FUNC(4, MAKE4)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:150:22: note: expanded from macro 'FUNC'
aesenc-int.c: static inline void aesni_encrypt##N(unsigned char *out, unsigned char *n, __m128i rkeys[11]) { \
aesenc-int.c: ^
aesenc-int.c: <scratch space>:168:1: note: expanded from here
aesenc-int.c: aesni_encrypt4
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:174:1: warning: unused function 'aesni_encrypt6' [-Wunused-function]
aesenc-int.c: FUNC(6, MAKE6)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:150:22: note: expanded from macro 'FUNC'
aesenc-int.c: static inline void aesni_encrypt##N(unsigned char *out, unsigned char *n, __m128i rkeys[11]) { \
aesenc-int.c: ^
aesenc-int.c: <scratch space>:217:1: note: expanded from here
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:dolbeau/aesenc-int | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:dolbeau/aesenc-int | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:dolbeau/aesenc-int | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T: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:23: warning: "_bswap64" redefined
aesenc-int.c: 23 | #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:12:
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:24: warning: "_bswap" redefined
aesenc-int.c: 24 | #define _bswap(a) __builtin_bswap(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:12:
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_key128_expand':
aesenc-int.c: aesenc-int.c:29:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: 29 | __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:63: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
aesenc-int.c: 63 | #pragma unroll(9)
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |