Implementation notes: amd64, hydra2, crypto_aead/scream10v1

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: scream10v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
91588ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060920140525
91604ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060920140525
91640ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060920140525
91652ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060920140525
91744ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014060920140525
96712ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060920140525
97108ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060920140525
97132ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060920140525
97160ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014060920140525
97280ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060920140525
102720ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014060920140525
102904ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014060920140525
102956ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060920140525
102976ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060920140525
103024ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060920140525
103444sseclang -O3 -fwrapv -march=native -fomit-frame-pointer2014072320140622
104820sseclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072320140622
518064refgcc -march=barcelona -O3 -fomit-frame-pointer2014060920140525
518440refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060920140525
518932refgcc -march=k8 -O3 -fomit-frame-pointer2014060920140525
519280refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060920140525
519612refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060920140525
519612refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060920140525
522512refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060920140525
522664refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060920140525
523844refgcc -funroll-loops -O3 -fomit-frame-pointer2014060920140525
523844refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060920140525
524488refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060920140525
525872refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060920140525
526124refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060920140525
526892refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060920140525
527108refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060920140525
527160refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014060920140525
527336refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060920140525
527388refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060920140525
528516refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060920140525
528516refgcc -march=nocona -O3 -fomit-frame-pointer2014060920140525
528956refgcc -O3 -fomit-frame-pointer2014060920140525
529476refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060920140525
529748refgcc -m64 -O3 -fomit-frame-pointer2014060920140525
567348refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060920140525
567364refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060920140525
567916refgcc -funroll-loops -O2 -fomit-frame-pointer2014060920140525
567920refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060920140525
568320refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060920140525
570824refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060920140525
570828refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060920140525
572620refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060920140525
573020refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060920140525
578156refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060920140525
578252refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060920140525
578484refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060920140525
579704refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060920140525
582148refgcc -funroll-loops -O -fomit-frame-pointer2014060920140525
582160refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060920140525
582172refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060920140525
593968refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060920140525
595452refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060920140525
625396refclang -O3 -fomit-frame-pointer2014072320140622
626844refclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072320140622
627092refclang -O3 -fwrapv -march=native -fomit-frame-pointer2014072320140622
628344refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072320140622
628528refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
628776refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
629916refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072320140622
661460refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060920140525
661580refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060920140525
661768refgcc -march=nocona -O2 -fomit-frame-pointer2014060920140525
662156refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060920140525
663296refgcc -march=k8 -O2 -fomit-frame-pointer2014060920140525
665788refgcc -m64 -O2 -fomit-frame-pointer2014060920140525
667320refgcc -O2 -fomit-frame-pointer2014060920140525
667828refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014060920140525
667956refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060920140525
669692refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060920140525
670864refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060920140525
672032refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060920140525
672040refgcc -march=barcelona -O2 -fomit-frame-pointer2014060920140525
673632refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060920140525
679828refgcc -march=nocona -O -fomit-frame-pointer2014060920140525
683480refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060920140525
687072refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060920140525
687712refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060920140525
688164refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060920140525
691560refgcc -O -fomit-frame-pointer2014060920140525
696324refgcc -m64 -O -fomit-frame-pointer2014060920140525
697260refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014060920140525
700248refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060920140525
700436refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060920140525
728068refgcc -march=barcelona -O -fomit-frame-pointer2014060920140525
730864refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060920140525
746268refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060920140525
747480refgcc -march=k8 -O -fomit-frame-pointer2014060920140525
759084refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060920140525
760328refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060920140525
760732refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060920140525
763276refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060920140525
763452refgcc -funroll-loops -Os -fomit-frame-pointer2014060920140525
763980refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060920140525
765076refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060920140525
765192refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060920140525
765652refgcc -march=nocona -Os -fomit-frame-pointer2014060920140525
766144refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060920140525
767396refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060920140525
767452refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060920140525
767612refgcc -march=barcelona -Os -fomit-frame-pointer2014060920140525
767872refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060920140525
768348refgcc -march=k8 -Os -fomit-frame-pointer2014060920140525
768388refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060920140525
770680refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060920140525
771084refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060920140525
771728refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014060920140525
772456refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060920140525
778260refgcc -Os -fomit-frame-pointer2014060920140525
778404refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060920140525
778416refgcc -m64 -Os -fomit-frame-pointer2014060920140525
2246312refgcc2014060920140525
2261464refgcc -funroll-loops2014060920140525
2264344refcc2014060920140525

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: 2, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fwrapv -march=native -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: 2 warnings 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.
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=native -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
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: 2 warnings generated.
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=native -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=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
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: '-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=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -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