Implementation notes: armeabi, berry2, crypto_hash/groestl256

Computer: berry2
Microarchitecture: armeabi; Cortex-A7 (410fc075)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: groestl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17891815332 0 034598 388 760T:arm11clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
17908115728 0 025444 388 744T:arm11gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
18178214628 0 022471 384 744T:arm11gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
18216214524 0 021799 376 744T:arm11gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
18323314656 0 022507 384 744T:arm11gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
21297639888 0 047776 392 1392T:arm32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
21318339876 0 047772 392 1392T:arm32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
21643339748 0 047128 384 1392T:arm32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
24698929185 0 039056 392 744T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
24746724177 0 032151 388 744T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
35761076644 0 086368 384 744T:sphlib-adaptedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
35942161920 0 069316 376 744T:sphlib-adaptedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
36324659384 0 066772 376 744T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
37711512948 0 022672 384 744T:32bit-2ktablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
37824310040 0 017887 380 744T:32bit-2ktablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
38732381760 0 089660 384 744T:sphlib-adaptedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
39857362492 0 070400 384 744T:sphlib-adaptedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
40189859252 0 067152 384 744T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
41906629225 0 048585 396 760T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
4327829299 0 016582 372 744T:32bit-2ktablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
43341624880 0 032268 376 744T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
45021575160 0 094290 384 760T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
45179680424 0 099562 384 760T:sphlib-adaptedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
48394123893 0 031320 380 744T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
48535529000 0 048138 384 760T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
50776810763 0 029989 384 760T:32bit-2ktableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
51324329780 0 037672 384 744T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
52497333208 0 042928 384 744T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
52629524297 0 032279 388 744T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
52882086460 0 096176 384 744T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
53261282344 0 090236 384 744T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
53351624796 0 032696 384 744T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
5513399460 0 017315 380 744T:32bit-2ktablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
5969136048 0 025283 384 760T:32bit-bytesliced-c-fastclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
6102059068 0 018800 384 744T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
6197885408 0 015140 384 744T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
6913913372 0 011227 380 744T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
6976584788 0 014504 384 744T:8bit_cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7026774048 0 023314 384 760T:8bit_cclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
7112402628 0 09921 372 744T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7180194208 0 012096 384 744T:8bit_cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7398333796 0 023072 384 760T:32bit-bytesliced-c-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
7517892828 0 010691 380 744T:32bit-bytesliced-c-fastgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
7917004080 0 011461 376 744T:8bit_cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
9945284136 0 012032 384 744T:8bit_cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
12162191932 0 09787 380 744T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
12317561804 0 09098 372 744T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
14066152364 0 010227 380 744T:32bit-bytesliced-c-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107

Checksum failure

Implementation: T:arm32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
f079b87636261cf3c9ea6c0c0fa5429569bc7bd103f8d0f0bb23bd4ba5d49053
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm32

Test failure

Implementation: T:neon-bitslice
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon-bitslice
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon-table
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-table
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-table
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-table
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-table
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thumb-asm-fast
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-fast
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-fast
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-fast
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-fast
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:thumb-asm-small
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-small
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-small

Test failure

Implementation: T:neon-bitslice
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_hash is nondeterministic

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice

Test failure

Implementation: T:thumb-asm-small
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:thumb-asm-small

Compiler output

Implementation: T:arm32
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
groestl.c: groestl.c:193:5: error: invalid symbol redefinition
groestl.c: DEFINE_TABLES;
groestl.c: ^
groestl.c: ./groestl_tables_asm.h:45:14: note: expanded from macro 'DEFINE_TABLES'
groestl.c: "\n T0up: "\
groestl.c: ^
groestl.c: <inline asm>:3:2: note: instantiated into assembly here
groestl.c: T0up:
groestl.c: ^
groestl.c: groestl.c:193:5: error: invalid symbol redefinition
groestl.c: DEFINE_TABLES;
groestl.c: ^
groestl.c: ./groestl_tables_asm.h:302:14: note: expanded from macro 'DEFINE_TABLES'
groestl.c: "\n T0dn: "\
groestl.c: ^
groestl.c: <inline asm>:260:2: note: instantiated into assembly here
groestl.c: T0dn:
groestl.c: ^
groestl.c: groestl.c:193:5: error: invalid symbol redefinition
groestl.c: DEFINE_TABLES;
groestl.c: ^
groestl.c: ./groestl_tables_asm.h:559:14: note: expanded from macro 'DEFINE_TABLES'
groestl.c: "\n T1up: "\
groestl.c: ^
groestl.c: <inline asm>:517:2: note: instantiated into assembly here
groestl.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:arm32

Compiler output

Implementation: T:neon-bitslice
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'crypto_hash_groestl256_neon_bitslice_timingleaks':
hash.c: hash.c:40:12: warning: iteration 64 invokes undefined behavior [-Waggressive-loop-optimizations]
hash.c: ctx[i] = 0;
hash.c: ~~~~~~~^~~
hash.c: hash.c:39:3: note: within this loop
hash.c: for(i=0;i<STATEBYTES*2;i++)
hash.c: ^~~

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice

Compiler output

Implementation: T:neon-bitslice
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'crypto_hash_groestl256_neon_bitslice_timingleaks':
hash.c: hash.c:40:12: warning: iteration 64 invokes undefined behavior [-Waggressive-loop-optimizations]
hash.c: ctx[i] = 0;
hash.c: ~~~~~~~^~~
hash.c: hash.c:39:3: note: within this loop
hash.c: for(i=0;i<STATEBYTES*2;i++)
hash.c: ^~~
hash.c: cc1: warning: '__builtin_memset' writing 128 bytes into a region of size 64 overflows the destination [-Wstringop-overflow=]

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-bitslice

Compiler output

Implementation: T:neon-vperm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vperm-neon.S: vperm-neon.S:1037:1: error: invalid instruction
vperm-neon.S: Matrix_TRANSPOSE_A 12, 13, 14, 15
vperm-neon.S: ^
vperm-neon.S: <instantiation>:8:7: error: expected absolute expression
vperm-neon.S: .if first == first
vperm-neon.S: ^
vperm-neon.S: <instantiation>:24:3: note: while in macro instantiation
vperm-neon.S: TRANSFORM_FIRST_LAST_ROW_CONSTS first, 0, 1, 2, 3, 4, 5, 6, 7, 12, 8, 9, 10, 11, 13, 14, 4, 5, 6, 7, 8
vperm-neon.S: ^
vperm-neon.S: vperm-neon.S:1061:1: note: while in macro instantiation
vperm-neon.S: VPERM_INIT_TRANSFORM_ROUND_CONST 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 4, 5, 6, 7, 8
vperm-neon.S: ^
vperm-neon.S: <instantiation>:11:11: error: expected absolute expression
vperm-neon.S: .elseif first == last
vperm-neon.S: ^
vperm-neon.S: <instantiation>:24:3: note: while in macro instantiation
vperm-neon.S: TRANSFORM_FIRST_LAST_ROW_CONSTS first, 0, 1, 2, 3, 4, 5, 6, 7, 12, 8, 9, 10, 11, 13, 14, 4, 5, 6, 7, 8
vperm-neon.S: ^
vperm-neon.S: vperm-neon.S:1061:1: note: while in macro instantiation
vperm-neon.S: VPERM_INIT_TRANSFORM_ROUND_CONST 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 4, 5, 6, 7, 8
vperm-neon.S: ^
vperm-neon.S: <instantiation>:16:5: error: .error directive invoked in source file
vperm-neon.S: .error @Wrong parameter given, abort.
vperm-neon.S: ^
vperm-neon.S: <instantiation>:24:3: note: while in macro instantiation
vperm-neon.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon-vperm

Compiler output

Implementation: T:neon-vperm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'crypto_hash_groestl256_neon_vperm_timingleaks':
hash.c: hash.c:38:12: warning: iteration 64 invokes undefined behavior [-Waggressive-loop-optimizations]
hash.c: ctx[i] = 0;
hash.c: ~~~~~~~^~~
hash.c: hash.c:37:3: note: within this loop
hash.c: for(i=0;i<STATEBYTES*2;i++)
hash.c: ^~~
vperm-neon.S: vperm-neon.S: Assembler messages:
vperm-neon.S: vperm-neon.S:911: Error: expected symbol name
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vld1.8 {d16,d17},[r7,:128]!' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vld1.8 {d18,d19},[r8,:128]' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q0,q0,q8' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q1,q1,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q2,q2,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vld1.8 {d20,d21},[r9,:128]!' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q3,q3,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q4,q4,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q5,q5,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q6,q6,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q7,q7,q10' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d0,d0,d0,#0' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d1,d1,d1,#1' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d2,d2,d2,#1' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d3,d3,d3,#3' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d4,d4,d4,#2' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d5,d5,d5,#5' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d6,d6,d6,#3' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d7,d7,d7,#7' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d8,d8,d8,#4' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d9,d9,d9,#0' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d10,d10,d10,#5' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d11,d11,d11,#2' in ARM mode
vperm-neon.S: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-vperm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-vperm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-vperm

Compiler output

Implementation: T:neon-vperm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'crypto_hash_groestl256_neon_vperm_timingleaks':
hash.c: hash.c:38:12: warning: iteration 64 invokes undefined behavior [-Waggressive-loop-optimizations]
hash.c: ctx[i] = 0;
hash.c: ~~~~~~~^~~
hash.c: hash.c:37:3: note: within this loop
hash.c: for(i=0;i<STATEBYTES*2;i++)
hash.c: ^~~
hash.c: cc1: warning: '__builtin_memset' writing 128 bytes into a region of size 64 overflows the destination [-Wstringop-overflow=]
vperm-neon.S: vperm-neon.S: Assembler messages:
vperm-neon.S: vperm-neon.S:911: Error: expected symbol name
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vld1.8 {d16,d17},[r7,:128]!' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vld1.8 {d18,d19},[r8,:128]' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q0,q0,q8' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q1,q1,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q2,q2,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vld1.8 {d20,d21},[r9,:128]!' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q3,q3,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q4,q4,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q5,q5,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q6,q6,q9' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `veor q7,q7,q10' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d0,d0,d0,#0' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d1,d1,d1,#1' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d2,d2,d2,#1' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d3,d3,d3,#3' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d4,d4,d4,#2' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d5,d5,d5,#5' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d6,d6,d6,#3' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d7,d7,d7,#7' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d8,d8,d8,#4' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d9,d9,d9,#0' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d10,d10,d10,#5' in ARM mode
vperm-neon.S: vperm-neon.S:913: Error: selected processor does not support `vext.8 d11,d11,d11,#2' in ARM mode
vperm-neon.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon-vperm

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64

Compiler output

Implementation: T:opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_groestl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /usr/bin/ld: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64

Compiler output

Implementation: T:vperm-intr
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:34:
hash.c: In file included from ./groestl-intr-vperm.h:13:
hash.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/tmmintrin.h:27:
hash.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/pmmintrin.h:27:
hash.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/emmintrin.h:27:
hash.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/xmmintrin.h:27:
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm-intr

Compiler output

Implementation: T:vperm-intr
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from hash.c:34:
hash.c: groestl-intr-vperm.h:13:10: fatal error: tmmintrin.h: No such file or directory
hash.c: #include <tmmintrin.h>
hash.c: ^~~~~~~~~~~~~
hash.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vperm-intr
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vperm-intr
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vperm-intr
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vperm-intr

Namespace violations

Implementation: T:32bit-2ktable
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.o F512 T
hash.o Final T
hash.o Hash T
hash.o Init T
hash.o OutputTransformation T
hash.o RND512P T
hash.o RND512Q T
hash.o T R
hash.o Transform T
hash.o Update T
hash.o indices_cyclic R
hash.o shift_Values R

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32bit-2ktable
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-2ktable
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-2ktable
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-2ktable
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-2ktable

Namespace violations

Implementation: T:32bit-bytesliced-c-fast
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.o F512 T
hash.o MUL2_32Bit T
hash.o P T
hash.o Q T
hash.o RND512P T
hash.o RND512Q T
hash.o S R
hash.o mixBytes T
hash.o mix_bytes_half_state T
hash.o rotate_line_left T
hash.o subBytes T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32bit-bytesliced-c-fast
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-fast
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-fast
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-fast
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-fast

Namespace violations

Implementation: T:32bit-bytesliced-c-small
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.o memxor T
hash.o mixbytes T
hash.o permutation T
hash.o setmessage T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32bit-bytesliced-c-small
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-small
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-small
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32bit-bytesliced-c-small

Namespace violations

Implementation: T:8bit_c
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.o mix_bytes T
hash.o mul2 R
hash.o perm_P T
hash.o perm_Q T
hash.o sbox R

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bit_c
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:8bit_c
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:8bit_c
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:8bit_c
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:8bit_c

Namespace violations

Implementation: T:arm11
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
compress.o loopcompress T
compress.o output_transform T
hash.o Init T
itables.o groestl_tables R
ploop.o _ploop T
ploop.o ploop T
qloop.o _qloop T
qloop.o qloop T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:arm11
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm11
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm11
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm11
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm11

Namespace violations

Implementation: T:arm32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
groestl.o g C
groestl.o m C
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
groestl.o t C

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:arm32

Namespace violations

Implementation: T:opt32
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32

Namespace violations

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 15, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-adapted
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-adapted
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-adapted
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-adapted
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-adapted
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sphlib-small