Implementation notes: amd64, hertz, crypto_aead/spook128mu512v2

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: spook128mu512v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
592534935 0 021909 804 1160T:hes128c32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
595934935 0 021909 804 1160T:hes128c64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
866224448 0 019421 804 1096T:hes128c32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
866554448 0 019421 804 1096T:hes128c64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1427893991 0 017304 780 1064T:hes128c64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1429733991 0 017304 780 1064T:hes128c32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5411378324 0 029503 828 1096T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5903856788 0 027871 828 1096T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5905346874 0 023973 804 1160T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6041224587 0 019512 820 1096T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6055315758 0 020829 804 1096T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6614585031 0 018472 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)