Implementation notes: amd64, rumba5, crypto_aead/isapk128av20

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20211108
Operation: crypto_aead
Primitive: isapk128av20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
392361152279 0 0167048 796 1072T:opt_64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
394245152746 0 0169713 804 1072T:opt_64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
402241174041 0 0187226 796 1008T:opt_64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
404811173906 0 0190028 804 1040T:opt_64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
404846173906 0 0190028 804 1040T:opt_64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
404882173922 0 0190092 804 1040T:opt_64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
405333159721 0 0174272 796 1072T:opt_64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
517073196508 0 0212820 804 1008T:opt_64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
584048139306 0 0152836 780 1040T:opt_64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
7311005788 0 022268 812 1008T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
10619715304 0 021588 812 1040T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
10620045304 0 021588 812 1040T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
10622605304 0 021636 812 1040T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
11785205588 0 022721 812 1072T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
35786553981 0 017314 804 1008T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
39791474645 0 019584 804 1072T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
77682074464 0 019249 812 1072T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
104591433673 0 017380 788 1040T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx512f', but would be inlined into function 'isap_rk' that is compiled without support for 'avx512f'
isap.c: declareABCDEX
isap.c: ^
isap.c: ./KeccakP-400-64.macros:42:21: note: expanded from macro 'declareABCDEX'
isap.c: __m512i pchi1 = _mm512_set_epi32(0, 0, 0, 0x000014, 0x180017, 0x160015, 0x0f0013, 0x120011, 0x10000a, 0xe000d, 0xc000b, 0x50009, 0x80007, 0x60000, 0x40003, 0x20001); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx512f', but would be inlined into function 'isap_rk' that is compiled without support for 'avx512f'
isap.c: ./KeccakP-400-64.macros:43:21: note: expanded from macro 'declareABCDEX'
isap.c: __m512i pchi2 = _mm512_set_epi32(0, 0, 0, 0x000015, 0x140018, 0x170016, 0x10000f, 0x130012, 0x11000b, 0xa000e, 0xd000c, 0x60005, 0x90008, 0x70001, 0x00004, 0x30002); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx512f', but would be inlined into function 'isap_rk' that is compiled without support for 'avx512f'
isap.c: ./KeccakP-400-64.macros:44:19: note: expanded from macro 'declareABCDEX'
isap.c: __m512i ppi = _mm512_set_epi32(0, 0, 0, 0x0015, 0xf000e, 0x80002, 0x170011, 0xb0005, 0x40014, 0x13000d, 0x70001, 0x160010, 0xa0009, 0x30018, 0x12000c, 0x60000); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx512f', but would be inlined into function 'isap_rk' that is compiled without support for 'avx512f'
isap.c: ./KeccakP-400-64.macros:45:20: note: expanded from macro 'declareABCDEX'
isap.c: __m512i lrho = _mm512_set_epi32(0, 0, 0, 0x000e, 0x8000d, 0x20002, 0x80005, 0xf000d, 0x90007, 0x9000b, 0xa0003, 0x40007, 0x6000c, 0x4000b, 0xc000e, 0x10000); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx512f', but would be inlined into function 'isap_rk' that is compiled without support for 'avx512f'
isap.c: ./KeccakP-400-64.macros:46:20: note: expanded from macro 'declareABCDEX'
isap.c: __m512i rrho = _mm512_set_epi32(0, 0, 0, 0x100010 - 0x000e, 0x100010 - 0x8000d, 0x100010 - 0x20002, 0x100010 - 0x80005, 0x100010 - 0xf000d, 0x100010 - 0x90007, 0x100010 - 0x9000b, 0x100010 - 0xa0003, 0x100010 - 0x40007, 0x100010 - 0x6000c, 0x100010 - 0x4000b, 0x100010 - 0xc000e, 0x100010 - 0x10000); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx512f', but would be inlined into function 'isap_rk' that is compiled without support for 'avx512f'
isap.c: ./KeccakP-400-64.macros:47:23: note: expanded from macro 'declareABCDEX'
isap.c: __m512i ptheta1 = _mm512_set_epi32(0, 0, 0, 0x00014, 0x180017, 0x160015, 0x0f0013, 0x120011, 0x10000a, 0xe000d, 0xc000b, 0x50009, 0x80007, 0x60000, 0x40003, 0x20001); \
isap.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx2', but would be inlined into function 'isap_rk' that is compiled without support for 'avx2'
isap.c: declareABCDEX
isap.c: ^
isap.c: ./KeccakP-400-64.macros:42:21: note: expanded from macro 'declareABCDEX'
isap.c: __m512i pchi1 = _mm512_set_epi32(0, 0, 0, 0x000014, 0x180017, 0x160015, 0x0f0013, 0x120011, 0x10000a, 0xe000d, 0xc000b, 0x50009, 0x80007, 0x60000, 0x40003, 0x20001); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx2', but would be inlined into function 'isap_rk' that is compiled without support for 'avx2'
isap.c: ./KeccakP-400-64.macros:43:21: note: expanded from macro 'declareABCDEX'
isap.c: __m512i pchi2 = _mm512_set_epi32(0, 0, 0, 0x000015, 0x140018, 0x170016, 0x10000f, 0x130012, 0x11000b, 0xa000e, 0xd000c, 0x60005, 0x90008, 0x70001, 0x00004, 0x30002); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx2', but would be inlined into function 'isap_rk' that is compiled without support for 'avx2'
isap.c: ./KeccakP-400-64.macros:44:19: note: expanded from macro 'declareABCDEX'
isap.c: __m512i ppi = _mm512_set_epi32(0, 0, 0, 0x0015, 0xf000e, 0x80002, 0x170011, 0xb0005, 0x40014, 0x13000d, 0x70001, 0x160010, 0xa0009, 0x30018, 0x12000c, 0x60000); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx2', but would be inlined into function 'isap_rk' that is compiled without support for 'avx2'
isap.c: ./KeccakP-400-64.macros:45:20: note: expanded from macro 'declareABCDEX'
isap.c: __m512i lrho = _mm512_set_epi32(0, 0, 0, 0x000e, 0x8000d, 0x20002, 0x80005, 0xf000d, 0x90007, 0x9000b, 0xa0003, 0x40007, 0x6000c, 0x4000b, 0xc000e, 0x10000); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx2', but would be inlined into function 'isap_rk' that is compiled without support for 'avx2'
isap.c: ./KeccakP-400-64.macros:46:20: note: expanded from macro 'declareABCDEX'
isap.c: __m512i rrho = _mm512_set_epi32(0, 0, 0, 0x100010 - 0x000e, 0x100010 - 0x8000d, 0x100010 - 0x20002, 0x100010 - 0x80005, 0x100010 - 0xf000d, 0x100010 - 0x90007, 0x100010 - 0x9000b, 0x100010 - 0xa0003, 0x100010 - 0x40007, 0x100010 - 0x6000c, 0x100010 - 0x4000b, 0x100010 - 0xc000e, 0x100010 - 0x10000); \
isap.c: ^
isap.c: isap.c:105:5: error: always_inline function '_mm512_set_epi32' requires target feature 'avx2', but would be inlined into function 'isap_rk' that is compiled without support for 'avx2'
isap.c: ./KeccakP-400-64.macros:47:23: note: expanded from macro 'declareABCDEX'
isap.c: __m512i ptheta1 = _mm512_set_epi32(0, 0, 0, 0x00014, 0x180017, 0x160015, 0x0f0013, 0x120011, 0x10000a, 0xe000d, 0xc000b, 0x50009, 0x80007, 0x60000, 0x40003, 0x20001); \
isap.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
isap.c: In file included from isap.c:6:0:
isap.c: isap.c: In function 'isap_rk':
isap.c: KeccakP-400-64.macros:42:13: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
isap.c: __m512i pchi1 = _mm512_set_epi32(0, 0, 0, 0x000014, 0x180017, 0x160015, 0x0f0013, 0x120011, 0x10000a, 0xe000d, 0xc000b, 0x50009, 0x80007, 0x60000, 0x40003, 0x20001); \
isap.c: ^
isap.c: isap.c:105:5: note: in expansion of macro 'declareABCDEX'
isap.c: declareABCDEX
isap.c: ^~~~~~~~~~~~~
isap.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45:0,
isap.c: from isap.c:3:
isap.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:6873:1: error: inlining failed in call to always_inline '_mm512_xor_epi64': target specific option mismatch
isap.c: _mm512_xor_epi64 (__m512i __A, __m512i __B)
isap.c: ^~~~~~~~~~~~~~~~
isap.c: In file included from isap.c:6:0:
isap.c: KeccakP-400-64.macros:76:11: note: called from here
isap.c: E.S = _mm512_xor_epi64 (E.S, _mm512_set_epi64(0,0,0,0,0,0,0,KeccakF400RoundConstants[i])); \
isap.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
isap.c: KeccakP-400-unrolling.macros:63:5: note: in expansion of macro 'thetaRhoPiChiIota'
isap.c: thetaRhoPiChiIota(19, E, S) \
isap.c: ^~~~~~~~~~~~~~~~~
isap.c: isap.c:56:25: note: in expansion of macro 'rounds8X'
isap.c: #define PermuteRoundsKX rounds8X
isap.c: ^~~~~~~~
isap.c: isap.c:131:5: note: in expansion of macro 'PermuteRoundsKX'
isap.c: PermuteRoundsKX;
isap.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512

Namespace violations

Implementation: T:opt_64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
isap.o ISAP_IV1 R
isap.o ISAP_IV2 R
isap.o ISAP_IV3 R
isap.o isap_enc T
isap.o isap_mac T
isap.o isap_rk T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt_64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt_64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt_64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt_64

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-400-reference.o KeccakP400OnWords T
KeccakP-400-reference.o KeccakP400Round T
KeccakP-400-reference.o KeccakP400_AddByte T
KeccakP-400-reference.o KeccakP400_AddBytes T
KeccakP-400-reference.o KeccakP400_ExtractAndAddBytes T
KeccakP-400-reference.o KeccakP400_ExtractBytes T
KeccakP-400-reference.o KeccakP400_Initialize T
KeccakP-400-reference.o KeccakP400_OverwriteBytes T
KeccakP-400-reference.o KeccakP400_OverwriteWithZeroes T
KeccakP-400-reference.o KeccakP400_Permute_20rounds T
KeccakP-400-reference.o KeccakP400_Permute_Nrounds T
isap.o ISAP_IV_A R
isap.o ISAP_IV_KA R
isap.o ISAP_IV_KE R
isap.o isap_enc T
isap.o isap_mac T
isap.o isap_rk T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref