Implementation notes: amd64, hertz, crypto_aead/spook128su512v2

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: spook128su512v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
591734919 0 021973 804 1160T:hes128c64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
595414919 0 021973 804 1160T:hes128c32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
865444432 0 019485 804 1096T:hes128c32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
866004432 0 019485 804 1096T:hes128c64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1427023973 0 017360 780 1064T:hes128c32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1431253973 0 017360 780 1064T:hes128c64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5410118308 0 029487 828 1096T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5810416772 0 027855 828 1096T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5905526858 0 024037 804 1160T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5953904576 0 019496 820 1096T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6049545742 0 020893 804 1096T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6637805013 0 018528 780 1064T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


shadow_128bit.c: shadow_128bit.c:100:18: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
shadow_128bit.c:   100 |     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:   100 |     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:   101 |     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:   102 |     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:   103 |     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:   104 |     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:   105 |     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:   106 |     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: 6, namely:
ImplementationCompiler
T:hes128c32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:hes128c32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:hes128c32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:hes128c64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:hes128c64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:hes128c64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

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: 6, namely:
ImplementationCompiler
T:hes128c32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:hes128c32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:hes128c32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:hes128c64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:hes128c64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:hes128c64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.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: 6, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)