Implementation notes: riscv64, riscvunleashed000, crypto_stream/aes256estream

Computer: riscvunleashed000
Microarchitecture: riscv64; U54 (sifive,u54-mc)
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_stream
Primitive: aes256estream
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1058708047 4096 116307 4864 789T:e/hongjun/v1clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1061488571 4096 118493 4872 793T:e/hongjun/v1clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1061528571 4096 118917 4872 793T:e/hongjun/v1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1061638571 4096 118917 4872 793T:e/hongjun/v1clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1061638571 4096 118493 4872 793T:e/hongjun/v1clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1082685055 4096 113311 4864 789T:e/hongjun/v0clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1082895575 4096 115493 4872 793T:e/hongjun/v0clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1082925575 4096 115917 4872 793T:e/hongjun/v0clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1082925575 4096 115493 4872 793T:e/hongjun/v0clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1082925575 4096 115917 4872 793T:e/hongjun/v0clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1165369721 4096 417938 4872 792T:e/hongjun/v1gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1185328245 4096 418112 4872 792T:e/hongjun/v0gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1187096149 4096 414360 4872 792T:e/hongjun/v0gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1209369189 4096 416756 4856 792T:e/hongjun/v1gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1229655751 4096 413312 4856 792T:e/hongjun/v0gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
12337011723 4096 421594 4872 792T:e/hongjun/v1gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1342699185 4096 417205 4864 792T:e/hongjun/v1gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1356615901 4096 413913 4864 792T:e/hongjun/v0gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222

Compiler output

Implementation: T:e/gladman
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes-ctr.c: In file included from aes-ctr.c:1:
aes-ctr.c: In file included from ./e/aes-ctr.c:17:
aes-ctr.c: In file included from ./e/aestab.c:41:
aes-ctr.c: ./e/aesopt.h:168:2: error: Could not detect endianness
aes-ctr.c: #error Could not detect endianness
aes-ctr.c: ^
aes-ctr.c: In file included from aes-ctr.c:1:
aes-ctr.c: In file included from ./e/aes-ctr.c:17:
aes-ctr.c: In file included from ./e/aestab.c:194:
aes-ctr.c: ./e/aestab.h:106:60: warning: implicit declaration of function 'bytes2word' is invalid in C99 [-Wimplicit-function-declaration]
aes-ctr.c: Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ^
aes-ctr.c: ./e/aestab.h:106:60: error: initializer element is not a compile-time constant
aes-ctr.c: Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ~~~~~~~~^~~
aes-ctr.c: ./e/aestab.c:148:5: note: expanded from macro 'rc_data'
aes-ctr.c: w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: ^~~~~~~
aes-ctr.c: ./e/aestab.c:153:17: note: expanded from macro 'w0'
aes-ctr.c: #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: ^~~~~~~~~~~~~~~~~~~~~~
aes-ctr.c: In file included from aes-ctr.c:1:
aes-ctr.c: In file included from ./e/aes-ctr.c:17:
aes-ctr.c: In file included from ./e/aestab.c:194:
aes-ctr.c: ./e/aestab.h:124:39: error: initializer element is not a compile-time constant
aes-ctr.c: ...

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

Compiler output

Implementation: T:e/gladman
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes-ctr.c: In file included from e/aestab.c:41,
aes-ctr.c: from e/aes-ctr.c:17,
aes-ctr.c: from aes-ctr.c:1:
aes-ctr.c: e/aesopt.h:168:2: error: #error Could not detect endianness
aes-ctr.c: 168 | #error Could not detect endianness
aes-ctr.c: | ^~~~~
aes-ctr.c: In file included from e/aes-ctr.c:17,
aes-ctr.c: from aes-ctr.c:1:
aes-ctr.c: e/aestab.c:153:17: warning: implicit declaration of function 'bytes2word' [-Wimplicit-function-declaration]
aes-ctr.c: 153 | #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: | ^~~~~~~~~~
aes-ctr.c: e/aestab.c:148:5: note: in expansion of macro 'w0'
aes-ctr.c: 148 | w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: | ^
aes-ctr.c: e/aestab.h:106:52: note: in expansion of macro 'rc_data'
aes-ctr.c: 106 | Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: | ^~~~~~~
aes-ctr.c: e/aestab.c:153:17: error: initializer element is not constant
aes-ctr.c: 153 | #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: | ^~~~~~~~~~
aes-ctr.c: e/aestab.c:148:5: note: in expansion of macro 'w0'
aes-ctr.c: 148 | w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: | ^
aes-ctr.c: e/aestab.h:106:52: note: in expansion of macro 'rc_data'
aes-ctr.c: 106 | Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/gladman
gcc -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/gladman
gcc -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/gladman
gcc -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/gladman