Implementation notes: riscv64, hifiveunleashedriscv, crypto_aead/silverv1

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: silverv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
42472628626 0 040889 760 848littleendoptnotaesnigcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
42883224778 0 034544 736 848littleendoptnotaesnigcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
43345325594 0 036350 752 848littleendoptnotaesnigcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
49349324926 0 035066 752 848littleendoptnotaesnigcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
52316421056 0 033235 760 848anotherlittleendgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
52641717116 0 027844 752 848anotherlittleendgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
53880916658 0 026396 736 848anotherlittleendgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
60453716842 0 026958 752 848anotherlittleendgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
154665718086 0 030257 760 848refgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
20772267248 0 017944 752 848refgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
26977426662 0 016308 736 848refgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221
29682596794 0 016814 752 848refgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123120191221

Compiler output

Implementation: aesnioptimized
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from encrypt.c:36:
encrypt.c: macs4AESNI.h:6:10: fatal error: wmmintrin.h: No such file or directory
encrypt.c: 6 | #include <wmmintrin.h>
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aesnioptimized
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aesnioptimized
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aesnioptimized
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aesnioptimized

Compiler output

Implementation: bigendoptimized
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c:28:2: error: #error "This code produces standard results only on BE machines"
encrypt.c: 28 | #error "This code produces standard results only on BE machines"
encrypt.c: | ^~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE bigendoptimized
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE bigendoptimized
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE bigendoptimized
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE bigendoptimized

Namespace violations

Implementation: anotherlittleend
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o AES_128_KEY_EXPANSION T
encrypt.o CONVERT2DECKEY T
encrypt.o Obtain_sessionrkeys T
encrypt.o PartialBlock T
encrypt.o ProcessAD T
encrypt.o SETUPcounterLEFT T
encrypt.o TAES_DECRYPT T
encrypt.o TAES_ENCRYPT T
encrypt.o TAG T
rijndael-alg-fstplus.o INVERT T
rijndael-alg-fstplus.o rijndaelDecrypt T
rijndael-alg-fstplus.o rijndaelEncrypt T
rijndael-alg-fstplus.o rijndaelKeySetupDec T
rijndael-alg-fstplus.o rijndaelKeySetupEnc T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE anotherlittleend
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE anotherlittleend
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE anotherlittleend
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE anotherlittleend

Namespace violations

Implementation: littleendoptnotaesni
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
AES-128TS.o CONVERT2DECKEY T
AES-128TS.o INVERT T
AES-128TS.o SilverDecrypt T
AES-128TS.o SilverEncrypt T
AES-128TS.o rijndaelDecrypt T
AES-128TS.o rijndaelEncrypt T
AES-128TS.o rijndaelKeySetupEnc T
encrypt.o Obtain_sessionrkeys T
encrypt.o PartialBlock T
encrypt.o ProcessAD T
encrypt.o SETUPcounterLEFT T
encrypt.o TAG T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE littleendoptnotaesni
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE littleendoptnotaesni
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE littleendoptnotaesni
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE littleendoptnotaesni

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o LESTOREu64inbytearray T
encrypt.o NADD64 T
encrypt.o Obtain_sessionrkeys T
encrypt.o PartialBlock T
encrypt.o ProcessAD T
encrypt.o SETUPcounterLEFT T
encrypt.o TAES_DECRYPT T
encrypt.o TAES_ENCRYPT T
encrypt.o TAG T
encrypt.o XOR128 T
encrypt.o XORADD T
rijndaelEndianNeutral.o INVSBOX R
rijndaelEndianNeutral.o InvMixColumn T
rijndaelEndianNeutral.o InvShiftRowOnly T
rijndaelEndianNeutral.o SBOX R
rijndaelEndianNeutral.o ShiftRowOnly T
rijndaelEndianNeutral.o ShiftRowandMixColumn T
rijndaelEndianNeutral.o rijndaelDecrypt T
rijndaelEndianNeutral.o rijndaelEncrypt T
rijndaelEndianNeutral.o rijndaelexpandKey T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref