Implementation notes: amd64, h4e350, crypto_aead/iscream14v2

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream14v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
458085ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062120140525
469293ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062120140525
469374ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062120140525
469542ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062120140525
470154ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062120140525
473703ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062120140525
473751ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014062120140525
473757ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062120140525
474456ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014062120140525
477741ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062120140525
507423ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062120140525
524085ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062120140525
683547refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062120140525
683595refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062120140525
688002refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062120140525
688023refgcc -march=nocona -O3 -fomit-frame-pointer2014062120140525
694245refgcc -O3 -fomit-frame-pointer2014062120140525
694248refgcc -m64 -O3 -fomit-frame-pointer2014062120140525
694272refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140525
696576refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062120140525
696705refgcc -march=barcelona -O3 -fomit-frame-pointer2014062120140525
699105refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140525
699123refgcc -funroll-loops -O3 -fomit-frame-pointer2014062120140525
699180refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062120140525
701646refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062120140525
701661refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062120140525
702276refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062120140525
703413refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062120140525
703428refgcc -march=k8 -O3 -fomit-frame-pointer2014062120140525
705093refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062120140525
705132refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062120140525
708090refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062120140525
797226refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
799278refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
800472refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080420140622
802428refclang -O3 -fomit-frame-pointer2014080420140622
805884refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080420140622
1166103refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1166532refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1178451refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062120140525
1178460refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062120140525
1179399refgcc -funroll-loops -O2 -fomit-frame-pointer2014062120140525
1179429refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062120140525
1183095refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140525
1187283refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062120140525
1187793refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062120140525
1241310refgcc -funroll-loops -O -fomit-frame-pointer2014062120140525
1244253refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062120140525
1244415refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062120140525
1249350refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062120140525
1250964refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062120140525
1275996refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062120140525
1276191refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062120140525
1276272refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062120140525
1278222refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062120140525
1443924refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062120140525
1443939refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062120140525
1449873refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062120140525
1449933refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062120140525
1450032refgcc -funroll-loops -Os -fomit-frame-pointer2014062120140525
1452333refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062120140525
1452549refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062120140525
1476504refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062120140525
1478844refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062120140525
1483086refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1483140refgcc -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1494966refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062120140525
1507440refgcc -march=k8 -O2 -fomit-frame-pointer2014062120140525
1507542refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062120140525
1509690refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062120140525
1509756refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062120140525
1509762refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062120140525
1512624refgcc -m64 -O2 -fomit-frame-pointer2014062120140525
1512660refgcc -O2 -fomit-frame-pointer2014062120140525
1512678refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140525
1513161refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062120140525
1559100refgcc -march=nocona -O2 -fomit-frame-pointer2014062120140525
1560645refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062120140525
1560756refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062120140525
1560780refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062120140525
1561908refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062120140525
1563441refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062120140525
1609356refgcc -march=nocona -Os -fomit-frame-pointer2014062120140525
1611660refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062120140525
1639392refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062120140525
1639542refgcc -Os -fomit-frame-pointer2014062120140525
1639560refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062120140525
1639581refgcc -march=k8 -Os -fomit-frame-pointer2014062120140525
1639608refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062120140525
1641882refgcc -m64 -Os -fomit-frame-pointer2014062120140525
1653123refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062120140525
1653222refgcc -march=barcelona -Os -fomit-frame-pointer2014062120140525
1659354refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062120140525
1664421refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062120140525
1664433refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062120140525
1664517refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062120140525
1664532refgcc -O -fomit-frame-pointer2014062120140525
1664571refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062120140525
1664913refgcc -m64 -O -fomit-frame-pointer2014062120140525
1694532refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062120140525
1694640refgcc -march=nocona -O -fomit-frame-pointer2014062120140525
1699068refgcc -march=k8 -O -fomit-frame-pointer2014062120140525
1699188refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062120140525
1719387refgcc -march=barcelona -O -fomit-frame-pointer2014062120140525
1719399refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062120140525
1721409refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062120140525
5075715refgcc -funroll-loops2014062120140525
5077185refgcc2014062120140525
5097327refcc2014062120140525

Test failure

Implementation: crypto_aead/iscream14v2/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/iscream14v2/sse
Compiler: cc
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:197:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:202:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:210:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:215:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:223:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:228:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')

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/iscream14v2/sse
Compiler: clang -O3 -fomit-frame-pointer
iscream.c: iscream.c:38:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:95:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.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/iscream14v2/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/iscream14v2/sse
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: clang: warning: argument unused during compilation: '-mpclmul'
iscream.c: iscream.c:38:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:95:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.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/iscream14v2/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
iscream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
iscream_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/iscream14v2/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
iscream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: clang: warning: argument unused during compilation: '-mpclmul'
iscream.c: clang: warning: argument unused during compilation: '-fpolly'
iscream.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
iscream.c: iscream.c:38:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:95:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.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/iscream14v2/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
iscream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mpclmul'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream_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/iscream14v2/sse
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: iscream.c:38:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:95:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.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/iscream14v2/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
iscream_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/iscream14v2/sse
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: clang: warning: argument unused during compilation: '-fpolly'
iscream.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
iscream.c: iscream.c:38:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:95:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.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/iscream14v2/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream_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/iscream14v2/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:197:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:202:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:210:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:215:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:223:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:228:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:197:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:202:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:210:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:215:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:223:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:228:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')

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