Implementation notes: aarch64, pi4b, crypto_hash/simd512

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: simd512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6756445956 0 060385 896 744T:sphlibclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
7289850740 0 064451 872 752T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
8001045779 388 059700 1292 752T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
8530828716 0 043377 896 744T:sphlib-smallclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
8530826708 0 040435 872 752T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
8890047656 0 060323 872 744T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
9952628833 388 043172 1308 744T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
9952644244 0 056771 872 744T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
11374425616 0 038315 872 744T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
11374425832 0 038395 872 744T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
12796241416 0 052931 856 736T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
14218015251 388 028100 1284 744T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
14218023920 0 035459 856 736T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
16090913699 388 025380 1268 736T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
17061616027 388 028732 1284 744T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
489099219449 388 034292 1308 744T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
533175010443 388 024348 1292 752T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
53601865695 388 018508 1284 744T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
58578165279 388 017956 1284 744T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
82037864859 388 016500 1268 736T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625

Compiler output


optimized.c: optimized.c:437:9: warning: unused variable 'j' [-Wunused-variable]
optimized.c:   int i,j;
optimized.c:         ^
optimized.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


optimized.c: optimized.c: In function 'SIMD_Compress':
optimized.c: optimized.c:437:9: warning: unused variable 'j' [-Wunused-variable]
optimized.c:   437 |   int i,j;
optimized.c:       |         ^

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

Compiler output


reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c:     state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c:                                                                                  ^
reference.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


vector.c: In file included from vector.c:5:
vector.c: ./vector.h:252:2: error: "I don't know how to vectorize on this architecture."
vector.c: #error "I don't know how to vectorize on this architecture."
vector.c:  ^
vector.c: ./vector.h:344:38: error: array has incomplete element type 'const union cv'
vector.c:   static const union cv FFT64_Twiddle[] = {
vector.c:                                      ^
vector.c: ./vector.h:344:22: note: forward declaration of 'union cv'
vector.c:   static const union cv FFT64_Twiddle[] = {
vector.c:                      ^
vector.c: ./vector.h:355:39: error: array has incomplete element type 'const union cv'
vector.c:   static const union cv FFT128_Twiddle[] =  {
vector.c:                                       ^
vector.c: ./vector.h:344:22: note: forward declaration of 'union cv'
vector.c:   static const union cv FFT64_Twiddle[] = {
vector.c:                      ^
vector.c: ./vector.h:367:39: error: array has incomplete element type 'const union cv'
vector.c:   static const union cv FFT256_Twiddle[] =  {
vector.c:                                       ^
vector.c: ./vector.h:344:22: note: forward declaration of 'union cv'
vector.c:   static const union cv FFT64_Twiddle[] = {
vector.c:                      ^
vector.c: vector.c:24:30: warning: implicit declaration of function 'CV' is invalid in C99 [-Wimplicit-function-declaration]
vector.c: static const union cv V128 = CV(128);
vector.c:                              ^
vector.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:vect128clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


vector.c: In file included from vector.c:5:
vector.c: vector.h:252:2: error: #error "I don't know how to vectorize on this architecture."
vector.c:   252 | #error "I don't know how to vectorize on this architecture."
vector.c:       |  ^~~~~
vector.c: vector.h:344:25: error: array type has incomplete element type 'union cv'
vector.c:   344 |   static const union cv FFT64_Twiddle[] = {
vector.c:       |                         ^~~~~~~~~~~~~
vector.c: vector.h:355:25: error: array type has incomplete element type 'union cv'
vector.c:   355 |   static const union cv FFT128_Twiddle[] =  {
vector.c:       |                         ^~~~~~~~~~~~~~
vector.c: vector.h:367:25: error: array type has incomplete element type 'union cv'
vector.c:   367 |   static const union cv FFT256_Twiddle[] =  {
vector.c:       |                         ^~~~~~~~~~~~~~
vector.c: vector.c:24:20: error: variable 'V128' has initializer but incomplete type
vector.c:    24 | static const union cv V128 = CV(128);
vector.c:       |                    ^~
vector.c: vector.c:24:30: warning: implicit declaration of function 'CV' [-Wimplicit-function-declaration]
vector.c:    24 | static const union cv V128 = CV(128);
vector.c:       |                              ^~
vector.c: vector.c:25:20: error: variable 'V255' has initializer but incomplete type
vector.c:    25 | static const union cv V255 = CV(255);
vector.c:       |                    ^~
vector.c: vector.c:26:20: error: variable 'V257' has initializer but incomplete type
vector.c:    26 | static const union cv V257 = CV(257);
vector.c:       |                    ^~
vector.c: ...

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