Implementation notes: amd64, trident, crypto_aead/aes128n12t8clocv3
Computer: trident
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes128n12t8clocv3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
151985 | 20691 0 0 | 33587 756 1048 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
156283 | 24717 0 0 | 40312 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
156423 | 21647 0 0 | 35783 772 1080 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
156520 | 21973 0 0 | 36552 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
172096 | 20551 0 0 | 34150 804 1016 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
173357 | 21096 0 0 | 35270 804 1016 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
174642 | 21865 0 0 | 37448 812 1016 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
174691 | 22690 0 0 | 39240 812 1016 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
174912 | 22697 0 0 | 39368 812 1016 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
Compiler output
encrypt.c: In file included from encrypt.c:37:
encrypt.c: ./aes.h:30:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 1); roundkeys[1] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:37:
encrypt.c: ./aes.h:31:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 2); roundkeys[2] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:37:
encrypt.c: ./aes.h:32:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 4); roundkeys[3] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:aesni | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt.c: In file included from encrypt.c:7:
encrypt.c: aes.h: In function 'AES128_KeyExpansion':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:37:
encrypt.c: aes.h:13:7: note: called from here
encrypt.c: 13 | v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: aes.h:39:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: 39 | EXPAND_ASSIST(x0, x1, x2, x0, 54); roundkeys[10] = x0;
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:37:
encrypt.c: aes.h:13:7: note: called from here
encrypt.c: 13 | v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: aes.h:38:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: 38 | EXPAND_ASSIST(x0, x1, x2, x0, 27); roundkeys[9] = x0;
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesni | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
encrypt.c: encrypt.c:70:2: warning: misleading indentation; statement is not part of the previous 'for' [-Wmisleading-indentation]
encrypt.c: return RETURN_SUCCESS;
encrypt.c: ^
encrypt.c: encrypt.c:65:5: note: previous statement is here
encrypt.c: for(i = 0; i < CRYPTO_ABYTES; i++)
encrypt.c: ^
encrypt.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_aes128n12t8clocv3_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:65:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
encrypt.c: 65 | for(i = 0; i < CRYPTO_ABYTES; i++)
encrypt.c: | ^~~
encrypt.c: encrypt.c:70:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
encrypt.c: 70 | return RETURN_SUCCESS;
encrypt.c: | ^~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |