Implementation notes: amd64, intelnuci8, crypto_aead/tiaoxinv1

Computer: intelnuci8
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: tiaoxinv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
191510093 0 028881 776 872aesnimclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
191610109 0 028913 776 872aesnimclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
192110024 0 025119 768 856aesnimclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
192510093 0 028881 776 872aesnimclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
19358144 0 023432 760 896aesnimgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
195710404 0 030669 784 928aesnimgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
196310404 0 027333 784 928aesnimgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
199210546 0 027261 784 928aesnimgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
223910855 0 031134 792 928optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
23249992 0 026966 792 928optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
239310601 0 027358 792 928optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
243911870 0 026832 776 856optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
24847670 0 023049 768 896optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
3297732118 32 045077 824 928tablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
3708948509 32 061413 824 928tablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
3851947298 32 063493 824 928tablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
3909334603 32 046464 800 896tablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
5719360302 32 075457 816 872tableclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
5723160302 32 075457 816 872tableclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
5801860461 32 071823 808 856tableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221
253463811995 320 032229 1112 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
39740356876 320 023589 1112 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
56060547348 320 024285 1112 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
139510364869 320 020184 1088 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011420191221
166485738007 304 022935 1080 856refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011420191221

Test failure

Implementation: opt
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_encrypt is nondeterministic

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

Test failure

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_decrypt returns nonzero

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

Compiler output

Implementation: aesnim
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
tiaoxin-optimized.c: tiaoxin-optimized.c:126:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'ssse3'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'ssse3'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:72: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:46:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:39:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],tmp);T[0] = xor(T[0], M);T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:46:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:39:94: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],tmp);T[0] = xor(T[0], M);T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: ...

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

Namespace violations

Implementation: aesnim
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
tiaoxin-optimized.o tiaoxin_optimized_decrypt T
tiaoxin-optimized.o tiaoxin_optimized_encrypt T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes_round.o AES_round T
aes_round.o FieldMult T
aes_round.o MC D
aes_round.o MixColumns T
aes_round.o ShiftRows T
aes_round.o SubBytes T
aes_round.o sbox D
tiaoxin-reference.o AND T
tiaoxin-reference.o Update T
tiaoxin-reference.o XOR T
tiaoxin-reference.o Z0 D
tiaoxin-reference.o Z1 D
tiaoxin-reference.o tiaoxin_reference_decrypt T
tiaoxin-reference.o tiaoxin_reference_encrypt T

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

Namespace violations

Implementation: table
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
tiaoxin-tablebased.o Z0 D
tiaoxin-tablebased.o Z1 D
tiaoxin-tablebased.o tiaoxin_tablebased_decrypt T
tiaoxin-tablebased.o tiaoxin_tablebased_encrypt T

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