Implementation notes: riscv64, riscvunleashed000, crypto_auth/siphash48

Computer: riscvunleashed000
Microarchitecture: riscv64; U54 (sifive,u54-mc)
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_auth
Primitive: siphash48
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
426571680 0 09756 776 744T:ref_legcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
430451680 0 011382 776 744T:ref_legcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
432291500 0 09397 768 744T:ref_legcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
434201492 0 08904 760 744T:ref_legcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
434461448 0 011577 776 744T:ref_leclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
434461448 0 011577 776 744T:ref_leclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
434491448 0 011153 776 744T:ref_leclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
434491448 0 09491 768 737T:ref_leclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
434501448 0 011153 776 744T:ref_leclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
434751716 0 011414 776 744T:littlegcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
435361406 0 011537 776 744T:littleclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
435361406 0 011537 776 744T:littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
435891000 0 010707 776 744T:littleclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
435891000 0 010707 776 744T:littleclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
47164558 0 07966 760 744T:littlegcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
47527584 0 08477 768 744T:littlegcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
47769640 0 08708 776 744T:littlegcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
47830616 0 08661 768 737T:littleclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222

Compiler output

Implementation: T:sandy
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
siphash.c: siphash.c:67:39: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
siphash.c: for(k = 0; k < SIPHASH_ROUNDS; ++k) COMPRESS(v0,v1,v2,v3);
siphash.c: ^
siphash.c: siphash.c:57:3: note: expanded from macro 'COMPRESS'
siphash.c: HALF_ROUND(v0,v1,v2,v3,13,16); \
siphash.c: ^
siphash.c: siphash.c:50:7: note: expanded from macro 'HALF_ROUND'
siphash.c: b = rotl64(b, s); d = rotl64(d, t); \
siphash.c: ^
siphash.c: siphash.c:29:22: note: expanded from macro 'rotl64'
siphash.c: #define rotl64(x, c) ROT(x,c)
siphash.c: ^
siphash.c: siphash.c:25:15: note: expanded from macro 'ROT'
siphash.c: __asm__ ("shld %2,%0,%0" : "=r"(__out) : "0"(__in), "i"(n)); \
siphash.c: ^
siphash.c: <inline asm>:1:2: note: instantiated into assembly here
siphash.c: shld 13,a4,a4
siphash.c: ^
siphash.c: siphash.c:67:39: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
siphash.c: for(k = 0; k < SIPHASH_ROUNDS; ++k) COMPRESS(v0,v1,v2,v3);
siphash.c: ^
siphash.c: siphash.c:57:3: note: expanded from macro 'COMPRESS'
siphash.c: HALF_ROUND(v0,v1,v2,v3,13,16); \
siphash.c: ^
siphash.c: siphash.c:50:25: note: expanded from macro 'HALF_ROUND'
siphash.c: ...

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

Compiler output

Implementation: T:sandy
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
siphash.c: siphash.c:67:39: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
siphash.c: for(k = 0; k < SIPHASH_ROUNDS; ++k) COMPRESS(v0,v1,v2,v3);
siphash.c: ^
siphash.c: siphash.c:57:3: note: expanded from macro 'COMPRESS'
siphash.c: HALF_ROUND(v0,v1,v2,v3,13,16); \
siphash.c: ^
siphash.c: siphash.c:50:7: note: expanded from macro 'HALF_ROUND'
siphash.c: b = rotl64(b, s); d = rotl64(d, t); \
siphash.c: ^
siphash.c: siphash.c:29:22: note: expanded from macro 'rotl64'
siphash.c: #define rotl64(x, c) ROT(x,c)
siphash.c: ^
siphash.c: siphash.c:25:15: note: expanded from macro 'ROT'
siphash.c: __asm__ ("shld %2,%0,%0" : "=r"(__out) : "0"(__in), "i"(n)); \
siphash.c: ^
siphash.c: <inline asm>:1:2: note: instantiated into assembly here
siphash.c: shld 13,t3,t3
siphash.c: ^
siphash.c: siphash.c:67:39: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
siphash.c: for(k = 0; k < SIPHASH_ROUNDS; ++k) COMPRESS(v0,v1,v2,v3);
siphash.c: ^
siphash.c: siphash.c:57:3: note: expanded from macro 'COMPRESS'
siphash.c: HALF_ROUND(v0,v1,v2,v3,13,16); \
siphash.c: ^
siphash.c: siphash.c:50:25: note: expanded from macro 'HALF_ROUND'
siphash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=rv64imafdc -mtune=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sandy

Compiler output

Implementation: T:sandy
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
siphash.c: siphash.c: Assembler messages:
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a0,a0'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a0,a0'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a4,a4'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 13,a5,a5'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 16,a0,a0'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 32,a3,a3'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 17,a5,a5'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 21,a0,a0'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 32,a4,a4'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 13,a5,a5'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 16,a0,a0'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 32,a3,a3'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 17,a5,a5'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 21,a0,a0'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 32,a4,a4'

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sandy

Compiler output

Implementation: T:sandy
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
siphash.c: siphash.c: Assembler messages:
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,t4,t4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,t4,t4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,t4,t4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,t4,t4'
siphash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sandy

Compiler output

Implementation: T:sandy
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
siphash.c: siphash.c: Assembler messages:
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a4,a4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a4,a4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a3,a3'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 13,a4,a4'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 17,a4,a4'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 32,a3,a3'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 13,a4,a4'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 32,a2,a2'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 17,a4,a4'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 32,a3,a3'

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sandy

Compiler output

Implementation: T:sandy
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
siphash.c: siphash.c: Assembler messages:
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 13,a4,a4'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 17,a4,a4'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:77: Error: unrecognized opcode `shld 32,a7,a7'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 13,a4,a4'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 32,a2,a2'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 17,a4,a4'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:81: Error: unrecognized opcode `shld 32,a3,a3'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 13,a4,a4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 16,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a6,a6'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 17,a4,a4'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 21,a5,a5'
siphash.c: siphash.c:67: Error: unrecognized opcode `shld 32,a7,a7'

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sandy