Implementation notes: amd64, icelake, crypto_aead/kiasueq128v1

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_aead
Primitive: kiasueq128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
609924204 0 045056 4096 0T:optclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
611724224 0 045056 4096 0T:optclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
631320995 0 040960 4096 0T:optclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
959928804 0 053248 4096 0T:optopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
972127172 0 049152 4096 0T:optopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
1121926853 0 049152 4096 0T:optopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
24251926309 0 045056 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
25713722249 0 036864 4096 0T:refclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
25933127533 0 045056 4096 0T:refclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
25986921250 0 036864 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
26001426673 0 045056 4096 0T:refclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
26641223202 0 040960 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:119:45: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_XLS1 = constant8( (0x8<<4),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:120:45: warning: implicit conversion from 'int' to 'char' changes value from 144 to -112 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_XLS2 = constant8( (0x9<<4),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: 2 warnings generated.

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