Implementation notes: armeabi, tinker, crypto_hash/romulush

Computer: tinker
Microarchitecture: armeabi; Cortex-A17 (410fc0d1)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: romulush
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1528449476 0 018057 384 752T:armv7agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
15448010356 0 020910 412 752T:armv7aclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
1550509132 0 016985 384 752T:armv7agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
1554179144 0 016800 380 744T:armv7agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
1554889042 0 015649 376 744T:armv7agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
2027067048 592 015637 984 752T:opt32tgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
2064256100 592 013953 984 752T:opt32tgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
2305464874 592 011477 972 744T:opt32tgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
2315376248 592 013908 976 744T:opt32tgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
2362647716 592 018214 1008 752T:opt32tclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
3374467848 0 015693 384 752T:armv7mgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
3390448336 0 016917 384 752T:armv7mgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
3837327878 0 015532 380 744T:armv7mgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
42059723468 640 033822 1052 752T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
58985710964 640 017557 1016 744T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
59321813210 640 020909 1024 744T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
60679120192 640 028777 1028 752T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
65133615264 640 023113 1028 752T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
6646265192 12 013777 396 752T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
11354715336 12 015806 424 752T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
32550001750 12 09404 392 744T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
33870872040 12 09889 396 752T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
36228961430 12 08021 388 744T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107

Compiler output

Implementation: T:armv7a
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/arm-linux-gnueabihf-ld: warning: skinny128.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/arm-linux-gnueabihf-ld: warning: skinny128.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/arm-linux-gnueabihf-ld: warning: skinny128.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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

Compiler output

Implementation: T:armv7a
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: skinny128.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: skinny128.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: skinny128.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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

Compiler output

Implementation: T:armv7m
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skinny128_core.s: skinny128_core.s:144:2: error: invalid instruction, any one of the following would fix this:
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:144:5: note: operand must be a register in range [r0, r12] or r14
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:144:13: note: operand must be a register in range [r0, r12] or r14
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:144:9: note: operand must be a register sp
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:150:2: error: invalid instruction, any one of the following would fix this:
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:150:5: note: operand must be a register in range [r0, r12] or r14
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:150:13: note: operand must be a register in range [r0, r12] or r14
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^
skinny128_core.s: skinny128_core.s:150:9: note: operand must be a register sp
skinny128_core.s: sub.w r0, #256 // reset rtk1
skinny128_core.s: ^

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

Compiler output

Implementation: T:armv7m
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: skinny128_tks_perm.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: skinny128_tks_perm.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: skinny128_tks_perm.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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

Compiler output

Implementation: T:armv7m
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: skinny128_core.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: libcrypto_hash_romulush.a(hash.o): in function `hirose_128_128_256':
try.c: hash.c:(.text+0x...): undefined reference to `tk_schedule_123'
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:armv7m

Compiler output

Implementation: T:armv8a-onthefly
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
skinny128.S: skinny128.S:151:11: error: register expected
skinny128.S: ldr q0, [x1]
skinny128.S: ^
skinny128.S: skinny128.S:152:11: error: register expected
skinny128.S: ldr q4, [x2]
skinny128.S: ^
skinny128.S: skinny128.S:153:11: error: register expected
skinny128.S: ldr q5, [x3]
skinny128.S: ^
skinny128.S: skinny128.S:154:11: error: register expected
skinny128.S: ldr q6, [x4]
skinny128.S: ^
skinny128.S: skinny128.S:155:6: error: operand must be a register in range [r0, r15]
skinny128.S: adr x1, rconst
skinny128.S: ^
skinny128.S: <instantiation>:1:11: error: literal value out of range for directive
skinny128.S: ldr q20, =0x0b0c0e0a0d080f090304060205000701
skinny128.S: ^
skinny128.S: skinny128.S:156:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:2:12: error: literal value out of range for directive
skinny128.S: ldr q21, =0x00000000000000020000000000000000
skinny128.S: ^
skinny128.S: skinny128.S:156:2: note: while in macro instantiation
skinny128.S: ...

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

Compiler output

Implementation: T:armv8a-onthefly
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
skinny128.S: skinny128.S: Assembler messages:
skinny128.S: skinny128.S:151: Error: ARM register expected -- `ldr q0,[x1]'
skinny128.S: skinny128.S:152: Error: ARM register expected -- `ldr q4,[x2]'
skinny128.S: skinny128.S:153: Error: ARM register expected -- `ldr q5,[x3]'
skinny128.S: skinny128.S:154: Error: ARM register expected -- `ldr q6,[x4]'
skinny128.S: skinny128.S:155: Error: ARM register expected -- `adr x1,rconst'
skinny128.S: skinny128.S:49: Error: ARM register expected -- `ldr q20,=0x0b0c0e0a0d080f090304060205000701'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:50: Error: ARM register expected -- `ldr q21,=0x00000000000000020000000000000000'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:51: Error: ARM register expected -- `ldr q22,=0x00000000000000000000000000000000'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:52: Error: ARM register expected -- `ldr q23,=0x09080b0a06050407030201000c0f0e0d'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:53: Error: ARM register expected -- `ldr q24,=0x0302010009080b0a1010101009080b0a'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:54: Error: ARM register expected -- `ldr q25,=0x000000000000000000000000ffffffff'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:55: Error: ARM register expected -- `ldr q26,=0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:56: Error: ARM register expected -- `ldr q27,=0x2e0e26062c0c34142a02220a00281830'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:57: Error: ARM register expected -- `ldr q28,=0xd1915111c1814101d090501080c00040'
skinny128.S: skinny128.S:156: Info: macro invoked from here
skinny128.S: skinny128.S:58: Error: ARM register expected -- `ldr q29,=0x1a181b190a080b091310121103000201'
skinny128.S: ...

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

Compiler output

Implementation: T:armv8a-precalculate
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:26:17: warning: result of comparison of constant 320 with expression of type 'uint8_t' (aka 'unsigned char') is always true [-Wtautological-constant-out-of-range-compare]
hash.c: for(i = 0; i < SKINNY128_384_ROUNDS*BLOCKBYTES/2; i++)
hash.c: ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: 1 warning generated.
skinny128.S: skinny128.S:96:11: error: register expected
skinny128.S: ldr q0, [x1]
skinny128.S: ^
skinny128.S: skinny128.S:97:11: error: register expected
skinny128.S: ldr d3, [x2]
skinny128.S: ^
skinny128.S: skinny128.S:98:11: error: register expected
skinny128.S: ldr d4, [x2, #8]
skinny128.S: ^
skinny128.S: <instantiation>:1:11: error: literal value out of range for directive
skinny128.S: ldr q21, =0x00000000000000020000000000000000
skinny128.S: ^
skinny128.S: skinny128.S:99:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:2:12: error: literal value out of range for directive
skinny128.S: ldr q22, =0x0f0e0d0c0a0b09080304060205000701
skinny128.S: ^
skinny128.S: skinny128.S:99:2: note: while in macro instantiation
skinny128.S: prepare_encrypt
skinny128.S: ^
skinny128.S: <instantiation>:3:12: error: literal value out of range for directive
skinny128.S: ldr q23, =0x09080b0a06050407030201000c0f0e0d
skinny128.S: ^
skinny128.S: skinny128.S:99:2: note: while in macro instantiation
skinny128.S: ...

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

Compiler output

Implementation: T:armv8a-precalculate
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
skinny128.S: skinny128.S: Assembler messages:
skinny128.S: skinny128.S:96: Error: ARM register expected -- `ldr q0,[x1]'
skinny128.S: skinny128.S:97: Error: ARM register expected -- `ldr d3,[x2]'
skinny128.S: skinny128.S:98: Error: ARM register expected -- `ldr d4,[x2,#8]'
skinny128.S: skinny128.S:24: Error: ARM register expected -- `ldr q21,=0x00000000000000020000000000000000'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:25: Error: ARM register expected -- `ldr q22,=0x0f0e0d0c0a0b09080304060205000701'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:26: Error: ARM register expected -- `ldr q23,=0x09080b0a06050407030201000c0f0e0d'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:27: Error: ARM register expected -- `ldr q24,=0x0302010009080b0a1010101009080b0a'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:28: Error: ARM register expected -- `ldr q25,=0x000000000000000000000000ffffffff'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:29: Error: ARM register expected -- `ldr q26,=0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:30: Error: ARM register expected -- `ldr q27,=0x2e0e26062c0c34142a02220a00281830'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:31: Error: ARM register expected -- `ldr q28,=0xd1915111c1814101d090501080c00040'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:32: Error: ARM register expected -- `ldr q29,=0x1a181b190a080b091310121103000201'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:33: Error: ARM register expected -- `ldr q30,=0x65646363454443433534333385848180'
skinny128.S: skinny128.S:99: Info: macro invoked from here
skinny128.S: skinny128.S:34: Error: ARM register expected -- `ldr q31,=0xe5e4e1e0c5c4c1c0a5a4a1a015141313'
skinny128.S: ...

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