Implementation notes: riscv64, riscvunleashed000, crypto_aead/acorn128v3

Computer: riscvunleashed000
Microarchitecture: riscv64; U54 (sifive,u54-mc)
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: acorn128v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1556817102 0 018251 776 848T:opt1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1556847102 0 018251 776 848T:opt1clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
2309967370 0 017710 776 848T:opt1gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
2432683960 0 012638 776 848T:opt1gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
2479023772 0 011756 760 848T:opt1gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
2541854674 0 015367 776 848T:opt1clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
2541864674 0 015367 776 848T:opt1clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
2575403578 0 012641 768 841T:opt1clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
2736383800 0 012209 768 848T:opt1gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
265080323018 0 013420 784 848T:refgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
275989112394 0 011150 784 848T:refgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
285732382080 0 010138 768 848T:refgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1202660652148 0 010573 768 848T:refgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1337731642090 0 011173 768 841T:refclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1351606284170 0 014699 776 848T:refclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1351682664170 0 014699 776 848T:refclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1357752213960 0 015065 776 848T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
1358046103960 0 015065 776 848T:refclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222

Compiler output

Implementation: T:8bitcompact
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:105:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j]), &tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~
encrypt.c: encrypt.c:24:59: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:111:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_8steps(state, &(iv[j-16]), &tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~
encrypt.c: encrypt.c:24:59: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:123:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j&0xf]), &tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: encrypt.c:24:59: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:199:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_8steps(state, &(ad[i]), &ciphertextbyte, ca, cb, 1);
encrypt.c: ^~~~~~~~
encrypt.c: encrypt.c:24:59: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:209:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.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:8bitcompact
clang -march=rv64imafdc -mtune=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitcompact
clang -march=rv64imafdc -mtune=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitcompact
clang -march=rv64imafdc -mtune=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitcompact
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitcompact

Compiler output

Implementation: T:8bitcompact
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c: In function 'acorn128_initialization':
encrypt.c: encrypt.c:105:32: warning: passing argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 105 | acorn128_8steps(state, &(key[j]), &tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~
encrypt.c: encrypt.c:24:59: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 24 | void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:111:32: warning: passing argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 111 | acorn128_8steps(state, &(iv[j-16]), &tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~
encrypt.c: encrypt.c:24:59: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 24 | void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:123:32: warning: passing argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 123 | acorn128_8steps(state, &(key[j&0xf]), &tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: encrypt.c:24:59: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 24 | void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_acorn128v3_8bitcompact_timingleaks_encrypt':
encrypt.c: encrypt.c:199:32: warning: passing argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 199 | acorn128_8steps(state, &(ad[i]), &ciphertextbyte, ca, cb, 1);
encrypt.c: | ^~~~~~~~
encrypt.c: encrypt.c:24:59: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 24 | void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ...

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

Compiler output

Implementation: T:8bitfast
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:190:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_32steps(state, &(key[j]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~
encrypt.c: encrypt.c:27:60: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_32steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:196:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_32steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_32steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:208:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: encrypt.c:108:59: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:213:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_32steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_32steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:294:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.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:8bitfast
clang -march=rv64imafdc -mtune=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast
clang -march=rv64imafdc -mtune=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast
clang -march=rv64imafdc -mtune=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast

Compiler output

Implementation: T:8bitfast
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c: In function 'acorn128_initialization':
encrypt.c: encrypt.c:190:33: warning: passing argument 2 of 'acorn128_32steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 190 | acorn128_32steps(state, &(key[j]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~
encrypt.c: encrypt.c:27:60: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 27 | void acorn128_32steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:196:33: warning: passing argument 2 of 'acorn128_32steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 196 | acorn128_32steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 27 | void acorn128_32steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:208:32: warning: passing argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 208 | acorn128_8steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: encrypt.c:108:59: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 108 | void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:213:33: warning: passing argument 2 of 'acorn128_32steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 213 | acorn128_32steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 27 | void acorn128_32steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: ...

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

Compiler output

Implementation: T:8bitfast2
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:189:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_64steps(state, &(key[j]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~
encrypt.c: encrypt.c:27:60: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_64steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:195:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_64steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_64steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:207:32: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: encrypt.c:107:59: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:212:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.c: acorn128_64steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: passing argument to parameter 'plaintextbyte' here
encrypt.c: void acorn128_64steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: ^
encrypt.c: encrypt.c:293:33: warning: passing 'const unsigned char *' to parameter of type 'unsigned char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
encrypt.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:8bitfast2
clang -march=rv64imafdc -mtune=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast2
clang -march=rv64imafdc -mtune=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast2
clang -march=rv64imafdc -mtune=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:8bitfast2

Compiler output

Implementation: T:8bitfast2
Security model: timingleaks
Compiler: gcc -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c: In function 'acorn128_initialization':
encrypt.c: encrypt.c:189:33: warning: passing argument 2 of 'acorn128_64steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 189 | acorn128_64steps(state, &(key[j]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~
encrypt.c: encrypt.c:27:60: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 27 | void acorn128_64steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:195:33: warning: passing argument 2 of 'acorn128_64steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 195 | acorn128_64steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 27 | void acorn128_64steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:207:32: warning: passing argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 207 | acorn128_8steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: encrypt.c:107:59: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 107 | void acorn128_8steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: encrypt.c:212:33: warning: passing argument 2 of 'acorn128_64steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: 212 | acorn128_64steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: encrypt.c:27:60: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: 27 | void acorn128_64steps(unsigned char *state, unsigned char *plaintextbyte, unsigned char *ciphertextbyte, unsigned char cabyte, unsigned char cbbyte, unsigned char enc_dec_flag)
encrypt.c: | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
encrypt.c: ...

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