Implementation notes: amd64, h4e350, crypto_aead/iscream12v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
397008ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062120140525
406566ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062120140525
406635ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062120140525
406635ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062120140525
406716ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062120140525
410928ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014062120140525
411192ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062120140525
411246ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062120140525
411636ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014062120140525
412242ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062120140525
440472ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062120140525
457143ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062120140525
597156refgcc -m64 -O3 -fomit-frame-pointer2014062120140525
597177refgcc -O3 -fomit-frame-pointer2014062120140525
597177refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140525
598776refgcc -march=barcelona -O3 -fomit-frame-pointer2014062120140525
599028refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062120140525
599982refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062120140525
600096refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062120140525
604032refgcc -march=nocona -O3 -fomit-frame-pointer2014062120140525
604077refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062120140525
606819refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062120140525
606840refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062120140525
606855refgcc -march=k8 -O3 -fomit-frame-pointer2014062120140525
612987refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062120140525
612993refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140525
613056refgcc -funroll-loops -O3 -fomit-frame-pointer2014062120140525
614007refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062120140525
614061refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062120140525
614433refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062120140525
615006refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062120140525
615006refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062120140525
692361refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
692427refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
692454refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080420140622
693450refclang -O3 -fomit-frame-pointer2014080420140622
693888refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080420140622
1006569refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1009956refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1016100refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062120140525
1016160refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062120140525
1020465refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140525
1022703refgcc -funroll-loops -O2 -fomit-frame-pointer2014062120140525
1024086refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062120140525
1030485refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062120140525
1030590refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062120140525
1076397refgcc -funroll-loops -O -fomit-frame-pointer2014062120140525
1078641refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062120140525
1078875refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062120140525
1079610refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062120140525
1081833refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062120140525
1097130refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062120140525
1097160refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062120140525
1102917refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062120140525
1103394refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062120140525
1240161refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062120140525
1240185refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062120140525
1247268refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062120140525
1247286refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062120140525
1247511refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062120140525
1247592refgcc -funroll-loops -Os -fomit-frame-pointer2014062120140525
1249668refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062120140525
1260222refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062120140525
1260366refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062120140525
1283766refgcc -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1283817refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1291158refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062120140525
1313499refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062120140525
1313535refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062120140525
1313880refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140525
1313928refgcc -m64 -O2 -fomit-frame-pointer2014062120140525
1315401refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062120140525
1316010refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062120140525
1316208refgcc -O2 -fomit-frame-pointer2014062120140525
1323084refgcc -march=k8 -O2 -fomit-frame-pointer2014062120140525
1325091refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062120140525
1345422refgcc -march=nocona -O2 -fomit-frame-pointer2014062120140525
1345530refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062120140525
1363377refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062120140525
1363383refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062120140525
1363392refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062120140525
1366323refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062120140525
1405923refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062120140525
1407132refgcc -march=nocona -Os -fomit-frame-pointer2014062120140525
1431609refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062120140525
1431627refgcc -march=k8 -O -fomit-frame-pointer2014062120140525
1439829refgcc -march=barcelona -O -fomit-frame-pointer2014062120140525
1439955refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062120140525
1439964refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062120140525
1443039refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062120140525
1443048refgcc -march=barcelona -Os -fomit-frame-pointer2014062120140525
1444500refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062120140525
1444539refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062120140525
1444584refgcc -Os -fomit-frame-pointer2014062120140525
1444638refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062120140525
1444671refgcc -march=k8 -Os -fomit-frame-pointer2014062120140525
1446300refgcc -m64 -Os -fomit-frame-pointer2014062120140525
1467972refgcc -march=nocona -O -fomit-frame-pointer2014062120140525
1468086refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062120140525
1474365refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062120140525
1474404refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062120140525
1474440refgcc -m64 -O -fomit-frame-pointer2014062120140525
1474473refgcc -O -fomit-frame-pointer2014062120140525
1474494refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062120140525
1475820refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062120140525
1476621refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062120140525
4534227refcc2014062120140525
4536717refgcc2014062120140525
4540737refgcc -funroll-loops2014062120140525

Test failure

Implementation: crypto_aead/iscream12v1/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/iscream12v1/sse
Compiler: cc
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:221:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:222: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:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:234:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:235:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:242:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:243:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:247:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:248: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/iscream12v1/sse
Compiler: clang -O3 -fomit-frame-pointer
iscream.c: iscream.c:48: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:114: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/iscream12v1/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/iscream12v1/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:48: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:114: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/iscream12v1/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/iscream12v1/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:48: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:114: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/iscream12v1/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/iscream12v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: iscream.c:48: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:114: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/iscream12v1/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/iscream12v1/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:48: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:114: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/iscream12v1/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/iscream12v1/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:221:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:222: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:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:234:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:235:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:242:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:243:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:247:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:248:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:221:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:222: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:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:234:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:235:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:242:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:243:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:247:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:248: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