Implementation notes: mipso32, gcc23, crypto_aead/scream12v3

Computer: gcc23
Microarchitecture: mipso32; Octeon II (cnmips64v2)
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20230530
Operation: crypto_aead
Primitive: scream12v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
159339210992 0 042924 368 840T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
37682607520 0 037372 368 840T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
38451326640 0 034896 360 840T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
46461807280 0 038476 368 840T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506

Compiler output

Implementation: T:sse
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:199:5: error: can't convert between vector values of different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^
scream.c: scream.c:200:5: error: can't convert between vector values of different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: ...

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
scream_cipher.o LS_decrypt T
scream_cipher.o LS_encrypt T
scream_cipher.o __a C
scream_cipher.o __b C
scream_cipher.o __c C
scream_cipher.o __d C

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