Implementation notes: amd64, icelake, crypto_aead/kiasuneq128v1

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_aead
Primitive: kiasuneq128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
455822340 0 049152 4096 0T:optopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
526118740 0 040960 4096 0T:optopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
668017864 0 040960 4096 0T:optopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
16022923504 0 040960 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
16377121031 0 036864 4096 0T:refclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
16454620239 0 036864 4096 0T:refclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
16643919174 0 032768 4096 0T:refclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
16652619148 0 032768 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
16994620622 0 036864 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826

Compiler output

Implementation: T:bitslice
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes_tweaked.s: aes_tweaked.s:45:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm0
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:46:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm1
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:47:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm2
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:48:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm3
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:49:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm4
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:50:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm5
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:51:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm6
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:52:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm7
aes_tweaked.s: ^
aes_tweaked.s: <instantiation>:5:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:bitslice
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:bitslice
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:bitslice

Compiler output

Implementation: T:bitslice
Security model: timingleaks
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes_tweaked.s: aes_tweaked.s:38:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm0
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:39:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm1
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:40:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm2
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:41:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm3
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:42:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm4
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:43:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm5
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:44:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm6
aes_tweaked.s: ^
aes_tweaked.s: aes_tweaked.s:45:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: pshufb M0, %xmm7
aes_tweaked.s: ^
aes_tweaked.s: <instantiation>:5:1: error: 32-bit absolute addressing is not supported in 64-bit mode
aes_tweaked.s: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:bitslice
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:bitslice
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:bitslice

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kiasu.c: kiasu.c:91:50: warning: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_AD_LAST = constant8( (0x6<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: ./aes_ni.macros:13:171: note: expanded from macro 'constant8'
kiasu.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
kiasu.c: ~~~~~~~~~~~~ ^~~
kiasu.c: kiasu.c:94:56: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_M_LAST_NONZERO = constant8( (0x4<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: ./aes_ni.macros:13:171: note: expanded from macro 'constant8'
kiasu.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
kiasu.c: ~~~~~~~~~~~~ ^~~
kiasu.c: kiasu.c:95:49: warning: implicit conversion from 'int' to 'char' changes value from 160 to -96 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_CHKSUM = constant8( (0x5<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: ./aes_ni.macros:13:171: note: expanded from macro 'constant8'
kiasu.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
kiasu.c: ~~~~~~~~~~~~ ^~~
kiasu.c: kiasu.c:331:50: warning: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_AD_LAST = constant8( (0x6<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: ./aes_ni.macros:13:171: note: expanded from macro 'constant8'
kiasu.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
kiasu.c: ~~~~~~~~~~~~ ^~~
kiasu.c: kiasu.c:334:56: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
kiasu.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt