Implementation notes: riscv64, riscvunleashed000, crypto_hash/fugue256

Computer: riscvunleashed000
Microarchitecture: riscv64; U54 (sifive,u54-mc)
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: fugue256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13791564362 0 072893 784 728T:ANSI_opt64gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
13855764060 0 070971 784 728T:ANSI_opt64gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
14096361096 0 067455 768 728T:ANSI_opt64gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
14157254378 0 060961 768 721T:ANSI_opt64clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14172854546 0 062795 776 728T:ANSI_opt64clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14173554546 0 062795 776 728T:ANSI_opt64clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14173654552 0 063221 776 728T:ANSI_opt64clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14173754552 0 063221 776 728T:ANSI_opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14718144442 0 052691 776 728T:ANSI_opt32clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14718244442 0 052691 776 728T:ANSI_opt32clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14719144442 0 053111 776 728T:ANSI_opt32clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14719144442 0 053111 776 728T:ANSI_opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
14719344480 0 051063 768 721T:ANSI_opt32clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
15044764762 0 071593 784 728T:ANSI_opt64gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
15301935336 0 043869 784 728T:sphlibclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
15305435336 0 043869 784 728T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
15308935320 0 043433 784 728T:sphlibclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
15312335320 0 043433 784 728T:sphlibclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
15764234594 0 040965 776 721T:sphlibclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011220231222
16710852958 0 059317 768 728T:ANSI_opt32gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
17192955934 0 062765 784 728T:ANSI_opt32gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
17353456596 0 063507 784 728T:ANSI_opt32gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
17363257264 0 065795 784 728T:ANSI_opt32gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
17713637058 0 043003 776 728T:sphlibgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
26527244242 0 050886 784 728T:sphlibgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
36646043842 0 050611 792 728T:sphlibgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222
36688445030 0 053423 792 728T:sphlibgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011220231222

Compiler output

Implementation: T:ANSI_opt32
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:32:27: warning: signed shift result (0x6671135F000000) requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:32:27: warning: signed shift result (0x6671135F00) requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~
hash.c: hash.c:33:67: warning: signed shift result (0x34F8C248000000) requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:33:67: warning: signed shift result (0x34F8C24800) requires 39 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~
hash.c: 4 warnings generated.

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