Implementation notes: amd64, h5nano, crypto_aead/scream12v1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: scream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
208775ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014081920140622
208885ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014081920140622
208905ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014081920140622
208920ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014081920140622
209195ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014081920140622
232630ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014081920140622
232675ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014081920140622
232710ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014081920140622
232740ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014081920140622
233075ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014081920140622
250445ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014081920140622
250500ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014081920140622
250555ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014081920140622
250570ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014081920140622
250915ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014081920140622
661505refgcc -O3 -fomit-frame-pointer2014081920140622
661520refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014081920140622
662130refgcc -march=barcelona -O3 -fomit-frame-pointer2014081920140622
662190refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014081920140622
662375refgcc -march=nocona -O3 -fomit-frame-pointer2014081920140622
662415refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014081920140622
662835refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014081920140622
662865refgcc -march=k8 -O3 -fomit-frame-pointer2014081920140622
665625refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014081920140622
665655refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014081920140622
665670refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014081920140622
665690refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014081920140622
665690refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014081920140622
668910refgcc -m64 -O3 -fomit-frame-pointer2014081920140622
672330refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014081920140622
672340refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014081920140622
672685refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014081920140622
672700refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014081920140622
672715refgcc -funroll-loops -O3 -fomit-frame-pointer2014081920140622
676290refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014081920140622
676555refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014081920140622
677005refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014081920140622
677010refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014081920140622
681955refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014081920140622
681985refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014081920140622
686650refgcc -funroll-loops -O2 -fomit-frame-pointer2014081920140622
686655refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014081920140622
686680refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014081920140622
690785refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014081920140622
690850refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014081920140622
691650refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014081920140622
691650refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014081920140622
704100refgcc -funroll-loops -O -fomit-frame-pointer2014081920140622
704215refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014081920140622
704250refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014081920140622
712885refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014081920140622
713000refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014081920140622
713000refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014081920140622
713030refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014081920140622
808830refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014081920140622
808830refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014081920140622
883500refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
889220refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
889235refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014081920140622
889275refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014081920140622
895590refclang -O3 -fomit-frame-pointer2014081920140622
1021400refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014081920140622
1021405refgcc -march=nocona -O2 -fomit-frame-pointer2014081920140622
1061670refgcc -O2 -fomit-frame-pointer2014081920140622
1061675refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014081920140622
1061675refgcc -m64 -O2 -fomit-frame-pointer2014081920140622
1092635refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014081920140622
1092635refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014081920140622
1092635refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014081920140622
1092650refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014081920140622
1092675refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014081920140622
1190375refgcc -march=barcelona -O -fomit-frame-pointer2014081920140622
1190380refgcc -m64 -march=k8 -O -fomit-frame-pointer2014081920140622
1190400refgcc -march=k8 -O -fomit-frame-pointer2014081920140622
1190735refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014081920140622
1198300refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014081920140622
1198300refgcc -march=k8 -O2 -fomit-frame-pointer2014081920140622
1238380refgcc -march=barcelona -O2 -fomit-frame-pointer2014081920140622
1238415refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014081920140622
1258925refgcc -m64 -march=nocona -O -fomit-frame-pointer2014081920140622
1262720refgcc -march=nocona -O -fomit-frame-pointer2014081920140622
1415015refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014081920140622
1415040refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014081920140622
1415065refgcc -O -fomit-frame-pointer2014081920140622
1415070refgcc -m64 -march=core2 -O -fomit-frame-pointer2014081920140622
1415075refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014081920140622
1415090refgcc -m64 -O -fomit-frame-pointer2014081920140622
1417320refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014081920140622
1418360refgcc -fno-schedule-insns -O -fomit-frame-pointer2014081920140622
1475265refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014081920140622
1475295refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014081920140622
1482350refgcc -funroll-loops -Os -fomit-frame-pointer2014081920140622
1484520refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014081920140622
1484840refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014081920140622
1622700refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014081920140622
1625080refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014081920140622
1631925refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014081920140622
1631925refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014081920140622
1631950refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014081920140622
1631960refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014081920140622
1631975refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014081920140622
1637340refgcc -march=nocona -Os -fomit-frame-pointer2014081920140622
1637375refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014081920140622
1642875refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014081920140622
1647480refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014081920140622
1665790refgcc -march=barcelona -Os -fomit-frame-pointer2014081920140622
1665835refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014081920140622
1665890refgcc -Os -fomit-frame-pointer2014081920140622
1665910refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014081920140622
1665910refgcc -m64 -Os -fomit-frame-pointer2014081920140622
1665910refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014081920140622
1667995refgcc -march=k8 -Os -fomit-frame-pointer2014081920140622
3348625refcc2014081920140622
3348890refgcc -funroll-loops2014081920140622
3348985refgcc2014081920140622

Test failure

Implementation: crypto_aead/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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