Implementation notes: aarch64, hikey970, crypto_aead/acorn128v3

Computer: hikey970
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: acorn128v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
461046008 0 020083 944 896opt1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
518673068 0 015458 936 864opt1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
537882940 0 014574 920 864opt1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
653143512 0 015986 936 864opt1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
56669505536 0 019685 952 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
283059352316 0 014706 936 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
410248762076 0 013710 920 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
717647182256 0 014730 936 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017

Compiler output

Implementation: 8bitcompact
Security model: unknown
Compiler: gcc -march=native -mtune=native -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: acorn128_8steps(state, &(key[j]), &tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:24:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_8steps(state, &(iv[j-16]), &tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:24:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j&0xf]), &tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:24:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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: In function 'crypto_aead_acorn128v3_8bitcompact_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: acorn128_8steps(state, &(ad[i]), &ciphertextbyte, ca, cb, 1);
encrypt.c: ^
encrypt.c: encrypt.c:24:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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: ...

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

Compiler output

Implementation: 8bitfast
Security model: unknown
Compiler: gcc -march=native -mtune=native -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: acorn128_32steps(state, &(key[j]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:27:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_32steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_32steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:27:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:108:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_32steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_32steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:27:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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: ...

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

Compiler output

Implementation: 8bitfast2
Security model: unknown
Compiler: gcc -march=native -mtune=native -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: acorn128_64steps(state, &(key[j]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:27:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_64steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_64steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:27:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_8steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_8steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:107:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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 argument 2 of 'acorn128_64steps' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
encrypt.c: acorn128_64steps(state, &(key[j&0xf]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: encrypt.c:27:6: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
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: ...

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

Namespace violations

Implementation: opt1
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o acorn128_initialization_32bitversion T
encrypt.o acorn128_padding_256 T
encrypt.o acorn128_tag_generation_32bits_version T
encrypt.o decrypt_32bits T
encrypt.o decrypt_32bits_fast T
encrypt.o decrypt_8bits T
encrypt.o encrypt_32bits T
encrypt.o encrypt_32bits_fast T
encrypt.o encrypt_8bits T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o Decrypt_StateUpdate128_1bit T
encrypt.o Encrypt_StateUpdate128_1bit T
encrypt.o FBK128 T
encrypt.o KSG128 T
encrypt.o acorn128_dec_onebyte T
encrypt.o acorn128_enc_onebyte T
encrypt.o acorn128_initialization T
encrypt.o acorn128_tag_generation T

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