Implementation notes: mipso32, erpro8fsf2, crypto_aead/ascon128v12

Computer: erpro8fsf2
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20220213
Operation: crypto_aead
Primitive: ascon128v12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
52542438624 0 062038 344 832T:opt32oldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
52562838640 0 059929 340 832T:opt32oldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
54504237024 0 057437 332 832T:opt32oldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
63625844048 0 064653 340 832T:opt64oldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
65753638176 0 060153 340 832T:opt32oldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
71056248992 0 070281 344 832T:opt64oldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
71059448992 0 072406 348 832T:opt64oldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
75264445872 0 067849 344 832T:opt64oldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
15223527776 0 031204 348 832T:refoldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
25390324912 0 026215 344 832T:refoldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
29077164512 0 026562 352 832T:refoldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
44263424224 0 024902 352 832T:refoldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108

Compiler output

Implementation: bi32
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from ascon.h:6:0,
aead.c: from aead.c:2:
aead.c: word.h: In function 'LOADBYTES':
aead.c: word.h:96:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) ((uint8_t*)&x)[7 - i] = bytes[i];
aead.c: ^
aead.c: word.h:96:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
aead.c: word.h: In function 'STOREBYTES':
aead.c: word.h:102:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) bytes[i] = ((uint8_t*)&x)[7 - i];
aead.c: ^
aead.c: In file included from aead.c:4:0:
aead.c: permutations.h: In function 'PROUNDS':
aead.c: permutations.h:84:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = START(nr); i < 12; i++)
aead.c: ^

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

Compiler output

Implementation: bi32_lowsize
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from ascon.h:6:0,
aead.c: from aead.c:2:
aead.c: word.h: In function 'LOADBYTES':
aead.c: word.h:96:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) ((uint8_t*)&x)[7 - i] = bytes[i];
aead.c: ^
aead.c: word.h:96:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
aead.c: word.h: In function 'STOREBYTES':
aead.c: word.h:102:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) bytes[i] = ((uint8_t*)&x)[7 - i];
aead.c: ^
aead.c: In file included from aead.c:3:0:
aead.c: permutations.h: In function 'PROUNDS':
aead.c: permutations.h:84:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = START(nr); i < 12; i++)
aead.c: ^

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

Compiler output

Implementation: bi8
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from ascon.h:6:0,
aead.c: from aead.c:2:
aead.c: word.h: In function 'LOADBYTES':
aead.c: word.h:111:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) ((uint8_t*)&x)[7 - i] = bytes[i];
aead.c: ^
aead.c: word.h:111:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
aead.c: word.h: In function 'STOREBYTES':
aead.c: word.h:117:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) bytes[i] = ((uint8_t*)&x)[7 - i];
aead.c: ^
aead.c: In file included from aead.c:4:0:
aead.c: permutations.h: In function 'PROUNDS':
aead.c: permutations.h:84:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = START(nr); i < 12; i++) ROUND(s, RC(constants[i]));
aead.c: ^

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

Compiler output

Implementation: opt64
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from ascon.h:6:0,
aead.c: from aead.c:2:
aead.c: word.h: In function 'LOADBYTES':
aead.c: word.h:61:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) ((uint8_t*)&x)[7 - i] = bytes[i];
aead.c: ^
aead.c: word.h:61:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
aead.c: word.h: In function 'STOREBYTES':
aead.c: word.h:66:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) bytes[i] = ((uint8_t*)&w)[7 - i];
aead.c: ^
aead.c: In file included from aead.c:4:0:
aead.c: permutations.h: In function 'PROUNDS':
aead.c: permutations.h:82:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = START(nr); i > 0x4a; i -= 0x0f) ROUND(s, RC(i));
aead.c: ^

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

Compiler output

Implementation: opt64_lowsize
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from ascon.h:6:0,
aead.c: from aead.c:2:
aead.c: word.h: In function 'LOADBYTES':
aead.c: word.h:61:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) ((uint8_t*)&x)[7 - i] = bytes[i];
aead.c: ^
aead.c: word.h:61:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
aead.c: word.h: In function 'STOREBYTES':
aead.c: word.h:66:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) bytes[i] = ((uint8_t*)&w)[7 - i];
aead.c: ^
aead.c: In file included from aead.c:3:0:
aead.c: permutations.h: In function 'PROUNDS':
aead.c: permutations.h:82:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = START(nr); i > 0x4a; i -= 0x0f) ROUND(s, RC(i));
aead.c: ^

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

Compiler output

Implementation: opt8
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aead.c: In file included from ascon.h:6:0,
aead.c: from aead.c:2:
aead.c: word.h: In function 'LOADBYTES':
aead.c: word.h:97:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) ((uint8_t*)&x)[7 - i] = bytes[i];
aead.c: ^
aead.c: word.h:97:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
aead.c: word.h: In function 'STOREBYTES':
aead.c: word.h:103:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = 0; i < n; ++i) bytes[i] = ((uint8_t*)&x)[7 - i];
aead.c: ^
aead.c: In file included from aead.c:4:0:
aead.c: permutations.h: In function 'PROUNDS':
aead.c: permutations.h:82:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
aead.c: for (int i = START(nr); i > 0x4a; i -= 0x0f) ROUND(s, RC(i));
aead.c: ^

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

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
decrypt.c: In file included from decrypt.c:6:0:
decrypt.c: word.h: In function 'LOADBYTES':
decrypt.c: word.h:23:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
decrypt.c: for (int i = 0; i < n; ++i) x |= SETBYTE(bytes[i], i);
decrypt.c: ^
decrypt.c: word.h:23:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
decrypt.c: word.h: In function 'STOREBYTES':
decrypt.c: word.h:29:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
decrypt.c: for (int i = 0; i < n; ++i) bytes[i] = GETBYTE(x, i);
decrypt.c: ^
decrypt.c: word.h: In function 'CLEARBYTES':
decrypt.c: word.h:34:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
decrypt.c: for (int i = 0; i < n; ++i) x &= ~SETBYTE(0xff, i);
decrypt.c: ^
decrypt.c: decrypt.c: In function 'crypto_aead_ascon128v12_ref_constbranchindex_decrypt':
decrypt.c: decrypt.c:90:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
decrypt.c: for (int i = 0; i < CRYPTO_ABYTES; ++i) result |= c[i] ^ t[i];
decrypt.c: ^

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

Namespace violations

Implementation: T:refold
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ascon.o load64 T
ascon.o permutation T
ascon.o printstate T
ascon.o printwords T
ascon.o store64 T

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