Implementation notes: riscv64, riscvunleashed000, crypto_core/keccakf160064bits

Computer: riscvunleashed000
Microarchitecture: riscv64; U54 (sifive,u54-mc)
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: keccakf160064bits
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
569754116 0 061121 768 752optimized1600lcufullgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
589753946 0 061441 784 752optimized1600lcufullgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
601257584 0 064585 768 752optimized1600ufullgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
604921436 0 028433 768 752optimized1600lcu6gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
607421512 0 028999 784 752optimized1600lcu6gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
614550088 0 059153 776 752optimized1600lcufullclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
615150092 0 059581 776 752optimized1600lcufullclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
615250092 0 059581 776 752optimized1600lcufullclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
615249256 0 056655 768 745optimized1600lcufullclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
615350088 0 059153 776 752optimized1600lcufullclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
625720940 0 030421 776 752optimized1600lcu6clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
625720940 0 030421 776 752optimized1600lcu6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
625920936 0 029993 776 752optimized1600lcu6clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
625920936 0 029993 776 752optimized1600lcu6clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
627120112 0 027503 768 745optimized1600lcu6clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
630557202 0 064697 784 752optimized1600ufullgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
643822524 0 029517 768 752optimized1600u6gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
647422226 0 029713 784 752optimized1600u6gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
657052464 0 061941 776 752optimized1600ufullclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
658152464 0 061941 776 752optimized1600ufullclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
658452454 0 061507 776 752optimized1600ufullclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
658452454 0 061507 776 752optimized1600ufullclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
658952216 0 059619 768 745optimized1600ufullclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
667420532 0 027927 768 745optimized1600u6clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
667520780 0 030249 776 752optimized1600u6clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
667620770 0 029815 776 752optimized1600u6clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
667620770 0 029815 776 752optimized1600u6clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
667620780 0 030249 776 752optimized1600u6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
777267102 0 076333 784 752optimized1600lcufullgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
780765702 0 073293 784 752optimized1600lcufullgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
792827398 0 036621 784 752optimized1600lcu6gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
806426262 0 033845 784 752optimized1600lcu6gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
86514072 0 013486 792 752reference1600clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
86514072 0 013486 792 752reference1600clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
87474076 0 013066 792 752reference1600clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
87474076 0 013066 792 752reference1600clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
881270976 0 078581 784 752optimized1600ufullgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
885271430 0 080661 784 752optimized1600ufullgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
910228182 0 037405 784 752optimized1600u6gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
918027834 0 035431 784 752optimized1600u6gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
167426986 0 016176 776 752compact1600gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
186013668 0 012927 792 752reference1600gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
193382458 0 011501 776 752compact1600clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
193382458 0 011501 776 752compact1600clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
194042572 0 012039 776 752compact1600clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
194172572 0 012039 776 752compact1600clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
307411764 0 09153 768 745compact1600clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222
327291935 0 09478 776 752compact1600gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
358061781 0 08684 760 752compact1600gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
458821833 0 09236 776 752compact1600gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
712502846 0 010491 792 752reference1600gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
798072706 0 09770 776 752reference1600gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
1236412910 0 010449 792 752reference1600gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011120231222
1933953520 0 011041 784 745reference1600clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011120231222

Compiler output

Implementation: optimized1600AsmX86-64
Security model: constbranchindex
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:54:12: error: unknown token in expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg1, %rdi
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:54:12: error: missing expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg1, %rdi
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:55:12: error: unknown token in expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg2, %rsi
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:55:12: error: missing expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg2, %rsi
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:56:12: error: unknown token in expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg3, %rdx
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:56:12: error: missing expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg3, %rdx
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:57:12: error: unknown token in expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg4, %rcx
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:57:12: error: missing expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: .equ arg4, %rcx
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:58:12: error: unknown token in expression in '.equ' directive
KeccakP-1600-x86-64-gas.S: ...

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

Compiler output

Implementation: optimized1600AsmX86-64
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S: Assembler messages:
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:54: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:54: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:55: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:55: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:56: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:56: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:57: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:57: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:58: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:58: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:59: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:59: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:62: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:62: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:64: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:64: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:65: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:65: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:66: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:66: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:68: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:68: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:69: Error: bad expression
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:69: Error: junk at end of line, first unrecognized character is `r'
KeccakP-1600-x86-64-gas.S: ...

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

Compiler output

Implementation: optimized1600AsmX86-64Apple
Security model: constbranchindex
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccakp.S: keccakp.S:544:5: error: unrecognized instruction mnemonic, did you mean: mret, ret, sret, uret?
keccakp.S: retq
keccakp.S: ^
keccakp.S: keccakp.S:553:11: error: unrecognized operand modifier
keccakp.S: xorq %rax, %rax
keccakp.S: ^
keccakp.S: keccakp.S:553:11: error: unknown operand
keccakp.S: xorq %rax, %rax
keccakp.S: ^
keccakp.S: keccakp.S:554:11: error: unrecognized operand modifier
keccakp.S: xorq %rcx, %rcx
keccakp.S: ^
keccakp.S: keccakp.S:554:11: error: unknown operand
keccakp.S: xorq %rcx, %rcx
keccakp.S: ^
keccakp.S: keccakp.S:555:11: error: unrecognized operand modifier
keccakp.S: notq %rcx
keccakp.S: ^
keccakp.S: keccakp.S:555:11: error: unknown operand
keccakp.S: notq %rcx
keccakp.S: ^
keccakp.S: keccakp.S:556:11: error: unrecognized operand modifier
keccakp.S: pxor %xmm0, %xmm0
keccakp.S: ^
keccakp.S: keccakp.S:556:11: error: unknown operand
keccakp.S: ...

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

Compiler output

Implementation: optimized1600AsmX86-64Apple
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccakp.S: keccakp.S: Assembler messages:
keccakp.S: keccakp.S:544: Error: unrecognized opcode `retq'
keccakp.S: keccakp.S:553: Error: unrecognized opcode `xorq %rax,%rax'
keccakp.S: keccakp.S:554: Error: unrecognized opcode `xorq %rcx,%rcx'
keccakp.S: keccakp.S:555: Error: unrecognized opcode `notq %rcx'
keccakp.S: keccakp.S:556: Error: unrecognized opcode `pxor %xmm0,%xmm0'
keccakp.S: keccakp.S:557: Error: unrecognized opcode `movq %rax,0*8(%rdi)'
keccakp.S: keccakp.S:558: Error: unrecognized opcode `movq %rcx,1*8(%rdi)'
keccakp.S: keccakp.S:559: Error: unrecognized opcode `movq %rcx,2*8(%rdi)'
keccakp.S: keccakp.S:560: Error: unrecognized opcode `movq %rax,3*8(%rdi)'
keccakp.S: keccakp.S:561: Error: unrecognized opcode `movdqu %xmm0,4*8(%rdi)'
keccakp.S: keccakp.S:562: Error: unrecognized opcode `movdqu %xmm0,6*8(%rdi)'
keccakp.S: keccakp.S:563: Error: unrecognized opcode `movq %rcx,8*8(%rdi)'
keccakp.S: keccakp.S:564: Error: unrecognized opcode `movq %rax,9*8(%rdi)'
keccakp.S: keccakp.S:565: Error: unrecognized opcode `movdqu %xmm0,10*8(%rdi)'
keccakp.S: keccakp.S:566: Error: unrecognized opcode `movq %rcx,12*8(%rdi)'
keccakp.S: keccakp.S:567: Error: unrecognized opcode `movq %rax,13*8(%rdi)'
keccakp.S: keccakp.S:568: Error: unrecognized opcode `movdqu %xmm0,14*8(%rdi)'
keccakp.S: keccakp.S:569: Error: unrecognized opcode `movq %rax,16*8(%rdi)'
keccakp.S: keccakp.S:570: Error: unrecognized opcode `movq %rcx,17*8(%rdi)'
keccakp.S: keccakp.S:571: Error: unrecognized opcode `movdqu %xmm0,18*8(%rdi)'
keccakp.S: keccakp.S:572: Error: unrecognized opcode `movq %rcx,20*8(%rdi)'
keccakp.S: keccakp.S:573: Error: unrecognized opcode `movq %rax,21*8(%rdi)'
keccakp.S: keccakp.S:574: Error: unrecognized opcode `movdqu %xmm0,22*8(%rdi)'
keccakp.S: keccakp.S:575: Error: unrecognized opcode `movq %rax,24*8(%rdi)'
keccakp.S: ...

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

Compiler output

Implementation: optimized1600AsmX86-64shld
Security model: constbranchindex
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccakp.S: keccakp.S:54:12: error: unknown token in expression in '.equ' directive
keccakp.S: .equ arg1, %rdi
keccakp.S: ^
keccakp.S: keccakp.S:54:12: error: missing expression in '.equ' directive
keccakp.S: .equ arg1, %rdi
keccakp.S: ^
keccakp.S: keccakp.S:55:12: error: unknown token in expression in '.equ' directive
keccakp.S: .equ arg2, %rsi
keccakp.S: ^
keccakp.S: keccakp.S:55:12: error: missing expression in '.equ' directive
keccakp.S: .equ arg2, %rsi
keccakp.S: ^
keccakp.S: keccakp.S:56:12: error: unknown token in expression in '.equ' directive
keccakp.S: .equ arg3, %rdx
keccakp.S: ^
keccakp.S: keccakp.S:56:12: error: missing expression in '.equ' directive
keccakp.S: .equ arg3, %rdx
keccakp.S: ^
keccakp.S: keccakp.S:57:12: error: unknown token in expression in '.equ' directive
keccakp.S: .equ arg4, %rcx
keccakp.S: ^
keccakp.S: keccakp.S:57:12: error: missing expression in '.equ' directive
keccakp.S: .equ arg4, %rcx
keccakp.S: ^
keccakp.S: keccakp.S:58:12: error: unknown token in expression in '.equ' directive
keccakp.S: ...

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

Compiler output

Implementation: optimized1600AsmX86-64shld
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccakp.S: keccakp.S: Assembler messages:
keccakp.S: keccakp.S:54: Error: bad expression
keccakp.S: keccakp.S:54: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:55: Error: bad expression
keccakp.S: keccakp.S:55: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:56: Error: bad expression
keccakp.S: keccakp.S:56: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:57: Error: bad expression
keccakp.S: keccakp.S:57: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:58: Error: bad expression
keccakp.S: keccakp.S:58: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:59: Error: bad expression
keccakp.S: keccakp.S:59: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:62: Error: bad expression
keccakp.S: keccakp.S:62: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:64: Error: bad expression
keccakp.S: keccakp.S:64: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:65: Error: bad expression
keccakp.S: keccakp.S:65: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:66: Error: bad expression
keccakp.S: keccakp.S:66: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:68: Error: bad expression
keccakp.S: keccakp.S:68: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: keccakp.S:69: Error: bad expression
keccakp.S: keccakp.S:69: Error: junk at end of line, first unrecognized character is `r'
keccakp.S: ...

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

Compiler output

Implementation: optimized1600XOPu6
Security model: constbranchindex
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-XOP.c: KeccakP-1600-XOP.c:23:10: fatal error: 'align.h' file not found
KeccakP-1600-XOP.c: #include "align.h"
KeccakP-1600-XOP.c: ^~~~~~~~~
KeccakP-1600-XOP.c: 1 error generated.

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

Compiler output

Implementation: optimized1600XOPu6
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-XOP.c: KeccakP-1600-XOP.c:23:10: fatal error: align.h: No such file or directory
KeccakP-1600-XOP.c: 23 | #include "align.h"
KeccakP-1600-XOP.c: | ^~~~~~~~~
KeccakP-1600-XOP.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
gcc -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
gcc -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
gcc -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull
gcc -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull
gcc -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull
gcc -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull

Compiler output

Implementation: optimized1600lcufullshld
Security model: constbranchindex
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277:5: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
KeccakP-1600-opt64.c: roundsN(nr)
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: ./k.macros:297:9: note: expanded from macro 'roundsN'
KeccakP-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta(i, A, E) \
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: ./KeccakP-1600-64.macros:46:13: note: expanded from macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakP-1600-opt64.c: Da = Cu^ROL64(Ce, 1); \
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:34:14: note: expanded from macro 'ROL64'
KeccakP-1600-opt64.c: __asm__ ("shld %2,%0,%0" : "=r"(__out) : "0"(__in), "i"(N)); \
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: <inline asm>:1:2: note: instantiated into assembly here
KeccakP-1600-opt64.c: shld 1,a1,a1
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277:5: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
KeccakP-1600-opt64.c: roundsN(nr)
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: ./k.macros:297:9: note: expanded from macro 'roundsN'
KeccakP-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta(i, A, E) \
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: ./KeccakP-1600-64.macros:47:13: note: expanded from macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakP-1600-opt64.c: De = Ca^ROL64(Ci, 1); \
KeccakP-1600-opt64.c: ^
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:34:14: note: expanded from macro 'ROL64'
KeccakP-1600-opt64.c: ...

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

Compiler output

Implementation: optimized1600lcufullshld
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c: Assembler messages:
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,t1,t1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a4,a4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a1,a1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a2,a2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,s3,s3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 20,s0,s0'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 28,a4,a4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 61,t2,t2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 6,a7,a7'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,t0,t0'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 18,s7,s7'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 3,s8,s8'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 45,a3,a3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 8,s6,s6'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 25,t6,t6'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 21,a1,a1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 14,a2,a2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 36,a7,a7'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 62,t4,t4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 27,a3,a3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 2,t3,t3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 44,s2,s2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 41,s3,s3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 43,a6,a6'
KeccakP-1600-opt64.c: ...

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

Compiler output

Implementation: optimized1600lcufullshld
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c: Assembler messages:
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a5,a5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a5,a5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a5,a5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a3,a3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a4,a4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 44,s5,s5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 43,t6,t6'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 21,t5,t5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 14,s7,s7'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 28,t2,t2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 20,t1,t1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 3,s2,s2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 45,s1,s1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 61,s3,s3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a6,a6'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 6,t1,t1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 25,t4,t4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 8,a1,a1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 18,t3,t3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 27,a1,a1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 36,t1,t1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 10,t5,t5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 15,t3,t3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 56,s0,s0'
KeccakP-1600-opt64.c: ...

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

Compiler output

Implementation: optimized1600lcufullshld
Security model: constbranchindex
Compiler: gcc -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c: Assembler messages:
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,s11,s11'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,s11,s11'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,s11,s11'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,s0,s0'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,t2,t2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 43,a6,a6'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 21,a2,a2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 28,t1,t1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 44,t0,t0'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 14,s2,s2'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 61,t4,t4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 6,s1,s1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 25,a1,a1'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 20,a4,a4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 56,t3,t3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 3,t6,t6'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 45,t5,t5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 1,a7,a7'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 8,a5,a5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 18,a3,a3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 36,s4,s4'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 10,s3,s3'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 27,a5,a5'
KeccakP-1600-opt64.c: KeccakP-1600-opt64.c:277: Error: unrecognized opcode `shld 15,a3,a3'
KeccakP-1600-opt64.c: ...

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