Implementation notes: amd64, titan0, crypto_aead/spook128su384v2

Computer: titan0
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: spook128su384v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1992855206 0 022388 812 1088T:hes128c64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1998085206 0 022388 812 1088T:hes128c32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2290084245 0 019333 804 1088T:hes128c32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2290224245 0 019333 804 1088T:hes128c64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2846754211 0 019005 804 1088T:hes128c64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2866364211 0 019005 804 1088T:hes128c32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2908733942 0 017392 780 1056T:hes128c32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2913543942 0 017392 780 1056T:hes128c64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8709327945 0 025984 860 1056T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
8718537722 0 024144 860 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9295686507 0 024280 860 1056T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
9861366568 0 023820 812 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10397015723 0 020869 804 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10510735005 0 018936 860 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10732565163 0 020045 804 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10806214967 0 018528 780 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
10840224684 0 019330 852 1088T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


shadow_128bit.c: shadow_128bit.c:100:18: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
shadow_128bit.c:     row_set t0 = __builtin_shuffle(simd->rows[0], simd->rows[1], dbox_shuffle1);
shadow_128bit.c:                  ^
shadow_128bit.c: shadow_128bit.c:100:13: error: initializing 'row_set' (vector of 4 'uint32_t' values) with an expression of incompatible type 'int'
shadow_128bit.c:     row_set t0 = __builtin_shuffle(simd->rows[0], simd->rows[1], dbox_shuffle1);
shadow_128bit.c:             ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:101:13: error: initializing 'row_set' (vector of 4 'uint32_t' values) with an expression of incompatible type 'int'
shadow_128bit.c:     row_set t1 = __builtin_shuffle(simd->rows[2], simd->rows[3], dbox_shuffle1);
shadow_128bit.c:             ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:102:13: error: initializing 'row_set' (vector of 4 'uint32_t' values) with an expression of incompatible type 'int'
shadow_128bit.c:     row_set t2 = __builtin_shuffle(simd->rows[0], simd->rows[1], dbox_shuffle2);
shadow_128bit.c:             ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:103:13: error: initializing 'row_set' (vector of 4 'uint32_t' values) with an expression of incompatible type 'int'
shadow_128bit.c:     row_set t3 = __builtin_shuffle(simd->rows[2], simd->rows[3], dbox_shuffle2);
shadow_128bit.c:             ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:104:19: error: assigning to 'row_set' (vector of 4 'uint32_t' values) from incompatible type 'int'
shadow_128bit.c:     simd->rows[0] = __builtin_shuffle(t0, t1, dbox_shuffle3);
shadow_128bit.c:                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:105:19: error: assigning to 'row_set' (vector of 4 'uint32_t' values) from incompatible type 'int'
shadow_128bit.c:     simd->rows[1] = __builtin_shuffle(t0, t1, dbox_shuffle4);
shadow_128bit.c:                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:106:19: error: assigning to 'row_set' (vector of 4 'uint32_t' values) from incompatible type 'int'
shadow_128bit.c:     simd->rows[2] = __builtin_shuffle(t2, t3, dbox_shuffle3);
shadow_128bit.c:                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:107:19: error: assigning to 'row_set' (vector of 4 'uint32_t' values) from incompatible type 'int'
shadow_128bit.c: ...

Number of similar (implementation,compiler) pairs: 10, namely:
ImplementationCompiler
T:hes128c32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c32clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:hes128c64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


shadow_128bit.c: shadow_128bit.c: In function 'shadow':
shadow_128bit.c: shadow_128bit.c:229:13: warning: unused variable 'res3' [-Wunused-variable]
shadow_128bit.c:   229 |     row_set res3 = { simd.rows[0][3], simd.rows[1][3], simd.rows[2][3], simd.rows[3][3] };
shadow_128bit.c:       |             ^~~~

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:hes128c32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


clyde_32bit.o clyde128_encrypt T
s1p.o init_keys T
s1p.o s1p_decrypt T
s1p.o s1p_encrypt T
shadow_128bit.o shadow T

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:hes128c32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:hes128c64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


primitives.o clyde128_decrypt T
primitives.o clyde128_encrypt T
primitives.o shadow T
s1p.o init_keys T
s1p.o s1p_decrypt T
s1p.o s1p_encrypt T
utils.o le32u_dec T
utils.o le32u_enc T
utils.o rotr T
utils.o xor_bytes T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)