Implementation notes: mipso32, loongson, crypto_aead/acorn128v3

Computer: loongson
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: acorn128v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
107060opt1gcc -funroll-loops -march=loongson2f -mabi=n32 -O32016121320161026
107954opt1gcc -march=loongson2f -mabi=n32 -O32016121320161026
129446opt1gcc -march=loongson2f -mabi=n32 -O22016121320161026
129650opt1gcc -funroll-loops -march=loongson2f -mabi=n32 -O22016121320161026
136648opt1gcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016121320161026
137728opt1gcc -march=loongson2f -mabi=n32 -Os2016121320161026
10130208bitfast2gcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016121320161026
10217028bitfastgcc -funroll-loops -march=loongson2f -mabi=n32 -O32016121320161026
10912168bitfast2gcc -funroll-loops -march=loongson2f -mabi=n32 -O22016121320161026
11408828bitfast2gcc -march=loongson2f -mabi=n32 -Os2016121320161026
11709508bitfastgcc -march=loongson2f -mabi=n32 -O32016121320161026
12531208bitfastgcc -funroll-loops -march=loongson2f -mabi=n32 -O22016121320161026
13044528bitfast2gcc -funroll-loops -march=loongson2f -mabi=n32 -O32016121320161026
15222088bitfast2gcc -march=loongson2f -mabi=n32 -O22016121320161026
15754768bitfastgcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016121320161026
16366788bitfastgcc -march=loongson2f -mabi=n32 -Os2016121320161026
16483308bitfast2gcc -march=loongson2f -mabi=n32 -O32016121320161026
18551768bitfastgcc -march=loongson2f -mabi=n32 -O22016121320161026
19818224refgcc -funroll-loops -march=loongson2f -mabi=n32 -O32016121320161026
20120318refgcc -march=loongson2f -mabi=n32 -O32016121320161026
40240600refgcc -funroll-loops -march=loongson2f -mabi=n32 -O22016121320161026
264262004refgcc -funroll-loops -march=loongson2f -mabi=n32 -Os2016121320161026
264828708refgcc -march=loongson2f -mabi=n32 -Os2016121320161026
273184192refgcc -march=loongson2f -mabi=n32 -O22016121320161026

Test failure

Implementation: crypto_aead/acorn128v3/8bitcompact
Compiler: gcc -funroll-loops -march=loongson2f -mabi=n32 -O2
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=loongson2f -mabi=n32 -O2 8bitcompact
gcc -funroll-loops -march=loongson2f -mabi=n32 -O3 8bitcompact
gcc -funroll-loops -march=loongson2f -mabi=n32 -Os 8bitcompact
gcc -march=loongson2f -mabi=n32 -O2 8bitcompact
gcc -march=loongson2f -mabi=n32 -O3 8bitcompact
gcc -march=loongson2f -mabi=n32 -Os 8bitcompact

Compiler output

Implementation: crypto_aead/acorn128v3/8bitcompact
Compiler: gcc -funroll-loops -march=loongson2f -mabi=n32 -O2
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
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
encrypt.c: acorn128_8steps(state, &(iv[j-16]), &tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: ...
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:257:41: warning: passing argument 3 of 'acorn128_8steps' discards 'const' qualifier from pointer target type
encrypt.c: acorn128_8steps(state, &(m[i]), &(c[i]), ca, cb,0);
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: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=loongson2f -mabi=n32 -O2 8bitcompact
gcc -funroll-loops -march=loongson2f -mabi=n32 -O3 8bitcompact
gcc -funroll-loops -march=loongson2f -mabi=n32 -Os 8bitcompact
gcc -march=loongson2f -mabi=n32 -O2 8bitcompact
gcc -march=loongson2f -mabi=n32 -O3 8bitcompact
gcc -march=loongson2f -mabi=n32 -Os 8bitcompact

Compiler output

Implementation: crypto_aead/acorn128v3/8bitfast2
Compiler: gcc -funroll-loops -march=loongson2f -mabi=n32 -O2
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
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
encrypt.c: acorn128_64steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: ...
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:374:41: warning: passing argument 3 of 'acorn128_8steps' discards 'const' qualifier from pointer target type
encrypt.c: acorn128_8steps(state, &(m[i]), &c[i], ca, cb,0);
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: ^

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=loongson2f -mabi=n32 -O2 8bitfast2
gcc -funroll-loops -march=loongson2f -mabi=n32 -O3 8bitfast2
gcc -funroll-loops -march=loongson2f -mabi=n32 -Os 8bitfast2
gcc -march=loongson2f -mabi=n32 -O2 8bitfast2
gcc -march=loongson2f -mabi=n32 -O3 8bitfast2
gcc -march=loongson2f -mabi=n32 -Os 8bitfast2

Compiler output

Implementation: crypto_aead/acorn128v3/8bitfast
Compiler: gcc -funroll-loops -march=loongson2f -mabi=n32 -O2
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
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
encrypt.c: acorn128_32steps(state, &(iv[j-16]), tem, 0xff, 0xff, 1);
encrypt.c: ^
encrypt.c: ...
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:375:41: warning: passing argument 3 of 'acorn128_8steps' discards 'const' qualifier from pointer target type
encrypt.c: acorn128_8steps(state, &(m[i]), &c[i], ca, cb,0);
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: ^

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=loongson2f -mabi=n32 -O2 8bitfast
gcc -funroll-loops -march=loongson2f -mabi=n32 -O3 8bitfast
gcc -funroll-loops -march=loongson2f -mabi=n32 -Os 8bitfast
gcc -march=loongson2f -mabi=n32 -O2 8bitfast
gcc -march=loongson2f -mabi=n32 -O3 8bitfast
gcc -march=loongson2f -mabi=n32 -Os 8bitfast