Implementation notes: amd64, h5nano, crypto_aead/scream10v1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: scream10v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
176460ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014081820140622
176470ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014081820140622
176475ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014081820140622
176480ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014081820140622
176695ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014081820140622
196530ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014081820140622
196605ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014081820140622
196610ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014081820140622
196615ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014081820140622
196625ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014081820140622
211815ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014081820140622
211845ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014081820140622
211855ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014081820140622
211910ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014081820140622
211955ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014081820140622
563440refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014081820140622
563460refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014081820140622
564280refgcc -O3 -fomit-frame-pointer2014081820140622
564285refgcc -m64 -O3 -fomit-frame-pointer2014081820140622
564295refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014081820140622
565230refgcc -march=barcelona -O3 -fomit-frame-pointer2014081820140622
565240refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014081820140622
565700refgcc -march=k8 -O3 -fomit-frame-pointer2014081820140622
566335refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014081820140622
566370refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014081820140622
566370refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014081820140622
566425refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014081820140622
567155refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014081820140622
567330refgcc -march=nocona -O3 -fomit-frame-pointer2014081820140622
568950refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014081820140622
573995refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014081820140622
574010refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014081820140622
575960refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014081820140622
578395refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014081820140622
578990refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014081820140622
579120refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014081820140622
579175refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014081820140622
583005refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014081820140622
583020refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014081820140622
583375refgcc -funroll-loops -O2 -fomit-frame-pointer2014081820140622
583375refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014081820140622
583395refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014081820140622
584595refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014081820140622
584620refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014081820140622
585575refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014081820140622
585575refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014081820140622
585590refgcc -funroll-loops -O3 -fomit-frame-pointer2014081820140622
596110refgcc -funroll-loops -O -fomit-frame-pointer2014081820140622
596140refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014081820140622
596140refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014081820140622
601815refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014081820140622
601855refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014081820140622
601860refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014081820140622
601860refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014081820140622
677770refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014081820140622
678065refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014081820140622
755125refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014081820140622
755140refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
755195refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014081820140622
755250refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
756930refclang -O3 -fomit-frame-pointer2014081820140622
867070refgcc -march=nocona -O2 -fomit-frame-pointer2014081820140622
869175refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014081820140622
901770refgcc -m64 -O2 -fomit-frame-pointer2014081820140622
901790refgcc -O2 -fomit-frame-pointer2014081820140622
902305refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014081820140622
926095refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014081820140622
926345refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014081820140622
927170refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014081820140622
927935refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014081820140622
927955refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014081820140622
1008425refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014081820140622
1008425refgcc -march=barcelona -O -fomit-frame-pointer2014081820140622
1016145refgcc -m64 -march=k8 -O -fomit-frame-pointer2014081820140622
1016415refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014081820140622
1016430refgcc -march=k8 -O2 -fomit-frame-pointer2014081820140622
1038625refgcc -march=k8 -O -fomit-frame-pointer2014081820140622
1049050refgcc -march=barcelona -O2 -fomit-frame-pointer2014081820140622
1049055refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014081820140622
1065690refgcc -m64 -march=nocona -O -fomit-frame-pointer2014081820140622
1065690refgcc -march=nocona -O -fomit-frame-pointer2014081820140622
1195570refgcc -m64 -march=core2 -O -fomit-frame-pointer2014081820140622
1195575refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014081820140622
1195595refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014081820140622
1195610refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014081820140622
1195650refgcc -fno-schedule-insns -O -fomit-frame-pointer2014081820140622
1197705refgcc -m64 -O -fomit-frame-pointer2014081820140622
1197750refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014081820140622
1197805refgcc -O -fomit-frame-pointer2014081820140622
1246920refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014081820140622
1256785refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014081820140622
1256795refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014081820140622
1257210refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014081820140622
1266040refgcc -funroll-loops -Os -fomit-frame-pointer2014081820140622
1370510refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014081820140622
1377190refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014081820140622
1377190refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014081820140622
1377190refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014081820140622
1377240refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014081820140622
1377300refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014081820140622
1381225refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014081820140622
1383460refgcc -march=nocona -Os -fomit-frame-pointer2014081820140622
1386530refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014081820140622
1388200refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014081820140622
1405460refgcc -march=barcelona -Os -fomit-frame-pointer2014081820140622
1405495refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014081820140622
1405555refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014081820140622
1405580refgcc -Os -fomit-frame-pointer2014081820140622
1405585refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014081820140622
1405590refgcc -m64 -Os -fomit-frame-pointer2014081820140622
1405660refgcc -march=k8 -Os -fomit-frame-pointer2014081820140622
1407710refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014081820140622
2832905refgcc -funroll-loops2014081820140622
2834275refcc2014081820140622
2834735refgcc2014081820140622

Test failure

Implementation: crypto_aead/scream10v1/sse
Compiler: gcc -m64 -march=core2 -Os -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
gcc -m64 -march=core2 -Os -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer sse
gcc -m64 -march=corei7 -Os -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: cc
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:199:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:204:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:212:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:225:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:281:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:285:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:286:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:293:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:294:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:298:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: ...

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc sse
gcc sse
gcc -O2 -fomit-frame-pointer sse
gcc -O3 -fomit-frame-pointer sse
gcc -O -fomit-frame-pointer sse
gcc -Os -fomit-frame-pointer sse
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops sse
gcc -funroll-loops -O2 -fomit-frame-pointer sse
gcc -funroll-loops -O3 -fomit-frame-pointer sse
gcc -funroll-loops -O -fomit-frame-pointer sse
gcc -funroll-loops -Os -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer sse
gcc -m64 -O2 -fomit-frame-pointer sse
gcc -m64 -O3 -fomit-frame-pointer sse
gcc -m64 -O -fomit-frame-pointer sse
gcc -m64 -Os -fomit-frame-pointer sse
gcc -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -march=barcelona -O2 -fomit-frame-pointer sse
gcc -march=barcelona -O3 -fomit-frame-pointer sse
gcc -march=barcelona -O -fomit-frame-pointer sse
gcc -march=barcelona -Os -fomit-frame-pointer sse
gcc -march=k8 -O2 -fomit-frame-pointer sse
gcc -march=k8 -O3 -fomit-frame-pointer sse
gcc -march=k8 -O -fomit-frame-pointer sse
gcc -march=k8 -Os -fomit-frame-pointer sse
gcc -march=nocona -O2 -fomit-frame-pointer sse
gcc -march=nocona -O3 -fomit-frame-pointer sse
gcc -march=nocona -O -fomit-frame-pointer sse
gcc -march=nocona -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fomit-frame-pointer
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/ref
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: clang: warning: argument unused during compilation: '-mpclmul'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
scream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mpclmul'
tae.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: clang: warning: argument unused during compilation: '-mpclmul'
scream.c: clang: warning: argument unused during compilation: '-fpolly'
scream.c: clang: warning: argument unused during compilation: '-fvectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
scream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mpclmul'
scream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
scream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
scream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
tae.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-mpclmul'
tae.c: clang: warning: argument unused during compilation: '-fpolly'
tae.c: clang: warning: argument unused during compilation: '-fvectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: clang: warning: argument unused during compilation: '-fpolly'
scream.c: clang: warning: argument unused during compilation: '-fvectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
scream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
scream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-fpolly'
tae.c: clang: warning: argument unused during compilation: '-fvectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:199:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:204:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:212:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:225:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:281:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:285:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:286:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:293:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:294:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:298:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: ...
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:199:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:204:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:212:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:225:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:281:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:285:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:286:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:293:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:294:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:298:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -m64 -march=barcelona -O -fomit-frame-pointer sse
gcc -m64 -march=barcelona -Os -fomit-frame-pointer sse