Implementation notes: amd64, hydra2, crypto_aead/scream12v1

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: scream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
108500ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014060920140525
108860ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060920140525
108964ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060920140525
109184ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060920140525
109288ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060920140525
115248ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060920140525
115500ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060920140525
115584ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060920140525
115648ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060920140525
115668ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014060920140525
121392ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014060920140525
121400ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014060920140525
121404ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060920140525
121404ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060920140525
121408ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060920140525
122000sseclang -O3 -fwrapv -march=native -fomit-frame-pointer2014072320140622
129928sseclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072320140622
610784refgcc -march=k8 -O3 -fomit-frame-pointer2014060920140525
611056refgcc -march=barcelona -O3 -fomit-frame-pointer2014060920140525
611080refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060920140525
611456refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060920140525
614464refgcc -funroll-loops -O3 -fomit-frame-pointer2014060920140525
614748refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060920140525
614944refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060920140525
619320refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060920140525
620028refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060920140525
620180refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060920140525
620412refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060920140525
620580refgcc -march=nocona -O3 -fomit-frame-pointer2014060920140525
620784refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014060920140525
620852refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060920140525
620880refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060920140525
622544refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060920140525
623456refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060920140525
623512refgcc -O3 -fomit-frame-pointer2014060920140525
623516refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060920140525
623884refgcc -m64 -O3 -fomit-frame-pointer2014060920140525
624324refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060920140525
624832refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060920140525
625124refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060920140525
671864refgcc -funroll-loops -O2 -fomit-frame-pointer2014060920140525
671956refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060920140525
671956refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060920140525
673764refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060920140525
673764refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060920140525
678492refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060920140525
678500refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060920140525
678548refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060920140525
679056refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060920140525
687820refgcc -funroll-loops -O -fomit-frame-pointer2014060920140525
687852refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060920140525
689420refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060920140525
689428refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060920140525
689436refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060920140525
689684refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060920140525
689720refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060920140525
698616refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060920140525
699252refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060920140525
738624refclang -O3 -fomit-frame-pointer2014072320140622
740288refclang -O3 -fwrapv -march=native -fomit-frame-pointer2014072320140622
741240refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
741380refclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072320140622
741532refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
742224refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072320140622
742944refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072320140622
755304refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060920140525
763952refgcc -march=nocona -O2 -fomit-frame-pointer2014060920140525
769708refgcc -march=k8 -O2 -fomit-frame-pointer2014060920140525
769892refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060920140525
771456refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060920140525
771520refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014060920140525
771532refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060920140525
772292refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060920140525
772860refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060920140525
773608refgcc -march=barcelona -O2 -fomit-frame-pointer2014060920140525
773760refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060920140525
778772refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060920140525
778880refgcc -O2 -fomit-frame-pointer2014060920140525
778880refgcc -m64 -O2 -fomit-frame-pointer2014060920140525
783912refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060920140525
795256refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014060920140525
795288refgcc -m64 -O -fomit-frame-pointer2014060920140525
796284refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060920140525
797388refgcc -O -fomit-frame-pointer2014060920140525
797432refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060920140525
797432refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060920140525
797432refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060920140525
805388refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060920140525
809740refgcc -march=nocona -O -fomit-frame-pointer2014060920140525
844544refgcc -march=barcelona -O -fomit-frame-pointer2014060920140525
851480refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060920140525
857784refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060920140525
862576refgcc -march=k8 -O -fomit-frame-pointer2014060920140525
863328refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060920140525
864292refgcc -march=nocona -Os -fomit-frame-pointer2014060920140525
875228refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060920140525
877396refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060920140525
877724refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060920140525
877848refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060920140525
877948refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060920140525
878964refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060920140525
880652refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060920140525
880696refgcc -funroll-loops -Os -fomit-frame-pointer2014060920140525
880776refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060920140525
881020refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060920140525
881784refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060920140525
881980refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060920140525
884164refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060920140525
887068refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060920140525
887300refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014060920140525
890008refgcc -Os -fomit-frame-pointer2014060920140525
890036refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060920140525
890284refgcc -m64 -Os -fomit-frame-pointer2014060920140525
890360refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060920140525
890592refgcc -march=k8 -Os -fomit-frame-pointer2014060920140525
890712refgcc -march=barcelona -Os -fomit-frame-pointer2014060920140525
2634556refcc2014060920140525
2662968refgcc2014060920140525
2663492refgcc -funroll-loops2014060920140525

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

Compiler output

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