Implementation notes: mipso32, erpro8fsf2, crypto_aead/ascon128av12

Computer: erpro8fsf2
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20220213
Operation: crypto_aead
Primitive: ascon128av12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
39199048480 0 069771 344 832T:opt32oldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
39250648464 0 071880 348 832T:opt32oldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
42541444656 0 065071 332 832T:opt32oldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
48970256272 0 077563 344 832T:opt64oldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
49019656272 0 079688 348 832T:opt64oldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
49901046304 0 068283 344 832T:opt32oldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
52914653200 0 075179 344 832T:opt64oldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
9849769024 0 032454 348 832T:refoldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
15563344896 0 026201 344 832T:refoldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
17004944496 0 026548 352 832T:refoldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108
24497104224 0 024904 352 832T:refoldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021111420211108

Test failure

Implementation: T:opt64old
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64old

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_ascon128av12_ref_constbranchindex_decrypt':
decrypt.c: decrypt.c:111: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