Implementation notes: aarch64, pi3aplus, crypto_hash/groestl512

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: groestl512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12654642624 0 053656 840 744T:sphlib-adaptedgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
12679340216 0 051224 840 744T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
12730539104 0 048800 840 728T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
14420740348 0 051629 768 736T:sphlibclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
14791243444 0 054733 768 736T:sphlib-adaptedclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
14891844624 0 054320 840 728T:sphlib-adaptedgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
15565616440 0 027464 840 744T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
15932915384 0 025080 840 728T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
16093615428 0 026621 768 736T:sphlib-smallclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
19529435768 0 044496 824 720T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
19856238976 0 047712 824 720T:sphlib-adaptedgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
20604236896 0 046472 840 728T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
20779140276 0 049864 840 728T:sphlib-adaptedgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
29409027261 0 038432 856 744T:opt32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
29535014948 0 023680 824 720T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
29743325045 0 034775 848 728T:opt32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
35020429913 0 041467 792 736T:opt32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
38927616276 0 025856 840 728T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
44522124429 0 033191 832 720T:opt32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
52932524937 0 034551 848 728T:opt32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
6583844504 0 015432 840 744T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
6922144344 0 015629 768 736T:32bit-bytesliced-c-smallclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
15043702212 0 011743 832 728T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
15893901904 0 010471 816 720T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
18175722564 0 011967 832 728T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716

Compiler output


hash.c: hash.c:897:2: error: "MMX instructions must be enabled"
hash.c: #error "MMX instructions must be enabled"
hash.c:  ^
hash.c: 1 error generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:mmxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

Compiler output


hash.c: hash.c:897:2: error: #error "MMX instructions must be enabled"
hash.c:  #error "MMX instructions must be enabled"
hash.c:   ^~~~~

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

Compiler output


hash.c: hash.c:182:9: warning: unknown pragma ignored [-Wunknown-pragmas]
hash.c: #pragma vector aligned
hash.c:         ^
hash.c: hash.c:191:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c:   static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:   ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:192:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c:   static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:   ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:193:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c:   static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:   ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:194:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: ...
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:182: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:219: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: At top level:
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:182: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:219: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: At top level:
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:182: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:219: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: At top level:
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Compiler output


hash.c: hash.c: In function 'F512':
hash.c: hash.c:182: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: In function 'F1024':
hash.c: hash.c:219: warning: ignoring #pragma vector aligned [-Wunknown-pragmas]
hash.c:  #pragma vector aligned
hash.c:
hash.c: hash.c: At top level:
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c:               ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c:    static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c:               ^
try.c: /usr/bin/ld: libcrypto_hash_groestl512.a(hash.o): in function `Transform':
try.c: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:237: undefined reference to `F512'
try.c: /usr/bin/ld: .../supercop-data/pi3aplus/aarch64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_hash/groestl512/opt64/work/hash.c:246: undefined reference to `F1024'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:opt64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Compiler output


groestl.c: groestl.c: In function 'groestl_small_close':
groestl.c: groestl.c:2812:17: warning: variable 'buf' set but not used [-Wunused-but-set-variable]
groestl.c:   unsigned char *buf;
groestl.c:                  ^~~
groestl.c: groestl.c: In function 'groestl_big_close':
groestl.c: groestl.c:2948:17: warning: variable 'buf' set but not used [-Wunused-but-set-variable]
groestl.c:   unsigned char *buf;
groestl.c:                  ^~~

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

Compiler output


groestl.c: groestl.c: In function 'groestl_small_close':
groestl.c: groestl.c:2742:18: warning: variable 'buf' set but not used [-Wunused-but-set-variable]
groestl.c:    unsigned char *buf;
groestl.c:                   ^~~
groestl.c: groestl.c: In function 'groestl_big_close':
groestl.c: groestl.c:2878:18: warning: variable 'buf' set but not used [-Wunused-but-set-variable]
groestl.c:    unsigned char *buf;
groestl.c:                   ^~~

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

Namespace violations


hash.o memxor T
hash.o mixbytes T
hash.o permutation T
hash.o setmessage T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:32bit-bytesliced-c-smallclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:32bit-bytesliced-c-smallgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:32bit-bytesliced-c-smallgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:32bit-bytesliced-c-smallgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:32bit-bytesliced-c-smallgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Namespace violations


hash.o F1024 T
hash.o F512 T
hash.o Final T
hash.o Hash T
hash.o Init T
hash.o OutputTransformation T
hash.o PrintHash T
hash.o RND1024P T
hash.o RND1024Q T
hash.o RND512P T
hash.o RND512Q T
hash.o T R
hash.o Transform T
hash.o Update T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:opt32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:opt32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:opt32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:opt32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)

Namespace violations


groestl.o sph_groestl224 T
groestl.o sph_groestl224_addbits_and_close T
groestl.o sph_groestl224_close T
groestl.o sph_groestl224_init T
groestl.o sph_groestl256 T
groestl.o sph_groestl256_addbits_and_close T
groestl.o sph_groestl256_close T
groestl.o sph_groestl256_init T
groestl.o sph_groestl384 T
groestl.o sph_groestl384_addbits_and_close T
groestl.o sph_groestl384_close T
groestl.o sph_groestl384_init T
groestl.o sph_groestl512 T
groestl.o sph_groestl512_addbits_and_close T
groestl.o sph_groestl512_close T
groestl.o sph_groestl512_init T

Number of similar (implementation,compiler) pairs: 15, namely:
ImplementationCompiler
T:sphlibclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:sphlibgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlibgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlibgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlibgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-adaptedclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:sphlib-adaptedgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-adaptedgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-adaptedgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-adaptedgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-smallclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:sphlib-smallgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-smallgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-smallgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)
T:sphlib-smallgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0)