Implementation notes: amd64, intelnuci7, crypto_aead/twine80n6t4clocv2

Computer: intelnuci7
Architecture: amd64
CPU ID: GenuineIntel-000806e9-bfebfbff
SUPERCOP version: 20211108
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10010820744 0 038572 792 1856T:vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
1001688893 0 022167 768 1824T:vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
10051610425 0 026561 776 1792T:vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
10052810361 0 026465 776 1792T:vpermclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
10056810361 0 026465 776 1792T:vpermclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
1007169541 0 024012 792 1856T:vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
10072010276 0 024804 792 1856T:vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
1014529947 0 022303 768 1776T:vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
7750768409 0 425267 784 1168T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
7874007993 0 423955 784 1152T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
9935087531 0 421845 768 1248T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
10242447064 0 421374 776 1248T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
12698328396 0 426118 776 1248T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
13967927742 0 424579 784 1168T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
14000487742 0 424579 784 1168T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108
17650406127 0 419241 752 1216T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111020211108
18297646127 0 419055 768 1152T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021111020211108

Compiler output

Implementation: T:vperm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:3:
encrypt.c: ./twine.h:227:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: ./twine.h:76:26: note: expanded from macro 'LOADS'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: ./twine.h:81:3: note: expanded from macro 'SHUFFLE4'
encrypt.c: _mm_shuffle_epi8(MASK4L(x), _mm_set_epi8(7, -1, 6, -1, 5, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1)), \
encrypt.c: ^
encrypt.c: ./twine.h:227:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: ./twine.h:76:26: note: expanded from macro 'LOADS'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: ./twine.h:82:3: note: expanded from macro 'SHUFFLE4'
encrypt.c: _mm_shuffle_epi8(SHR4(MASK4U(x)), _mm_set_epi8(-1, 7, -1, 6, -1, 5, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0)))
encrypt.c: ^
encrypt.c: ./twine.h:228:2: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ./twine.h:163:9: note: expanded from macro 'twine80_enc'
encrypt.c: left = PSHUFB(state, left); \
encrypt.c: ^
encrypt.c: ./twine.h:70:25: note: expanded from macro 'PSHUFB'
encrypt.c: #define PSHUFB(s,x) _mm_shuffle_epi8((s), (x)) /* return s(x) */
encrypt.c: ...

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
cloc.o ae_encrypt T
cloc.o ae_init T
cloc.o process_ad T
twine.o CON_H R
twine.o CON_L R
twine.o Decode T
twine.o Encode T
twine.o Keyschedule T
twine.o Keyschedule128 T
twine.o Keyschedule80 T
twine.o S R
twine.o ek C
twine.o pstate3 T
twine.o pswitch B
utils.o print_cxt T
utils.o pstate T
utils.o pstate2 T
utils.o xor_bytes T
utils.o xor_bytes2 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

Namespace violations

Implementation: T:vperm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o CON_H R
encrypt.o CON_L R
encrypt.o Encode T
encrypt.o Keyschedule80 T
encrypt.o S R
encrypt.o _tmp C
encrypt.o ek C
encrypt.o load_partial_block T
encrypt.o lsbox C
encrypt.o pstate_local T
encrypt.o pstate_local2 T
encrypt.o rks C
encrypt.o shuffle_const R
encrypt.o store_partial_block T
encrypt.o twine80_const R
encrypt.o usbox C

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