Implementation notes: amd64, speed2supercop, crypto_aead/spook128su384v2

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: spook128su384v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1970764842 0 020509 752 928T:hes128c64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1970884842 0 020509 752 928T:hes128c32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2030763898 0 017581 752 928T:hes128c32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2031483898 0 017581 752 928T:hes128c64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2847883666 0 017165 752 928T:hes128c64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2848443666 0 017165 752 928T:hes128c32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2909643425 0 015648 728 896T:hes128c32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2909803425 0 015648 728 896T:hes128c64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
9008847694 0 023798 792 856T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
9045526491 0 023830 792 872T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
9052607808 0 025334 792 872T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
10346924388 0 016680 728 896T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
10726966196 0 021909 752 928T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
10900245134 0 018478 792 856T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
11034005147 0 018877 752 928T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
11053004672 0 018831 784 920T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
11574084566 0 018141 752 928T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625

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 (Debian_Clang_16.0.6_(27+b1))
T:hes128c32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c32clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:hes128c64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

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 (13.3.0)
T:hes128c32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:hes128c32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:hes128c32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:hes128c64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:hes128c64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:hes128c64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:hes128c64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)