Implementation notes: amd64, h4e350, crypto_aead/iscream14v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream14v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
459342ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062120140525
470607ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062120140525
470682ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062120140525
470694ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062120140525
470820ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062120140525
475074ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062120140525
475089ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062120140525
475437ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014062120140525
476613ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062120140525
478032ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014062120140525
510723ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062120140525
529116ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062120140525
691866refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062120140525
691881refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062120140525
694218refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062120140525
694377refgcc -march=barcelona -O3 -fomit-frame-pointer2014062120140525
694665refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140525
694680refgcc -m64 -O3 -fomit-frame-pointer2014062120140525
694743refgcc -O3 -fomit-frame-pointer2014062120140525
695694refgcc -march=nocona -O3 -fomit-frame-pointer2014062120140525
695709refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062120140525
700614refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140525
700668refgcc -funroll-loops -O3 -fomit-frame-pointer2014062120140525
700683refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062120140525
701505refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062120140525
701508refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062120140525
701955refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062120140525
702036refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062120140525
702075refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062120140525
702150refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062120140525
702396refgcc -march=k8 -O3 -fomit-frame-pointer2014062120140525
707904refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062120140525
798978refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
799011refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
799020refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080420140622
799176refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080420140622
801645refclang -O3 -fomit-frame-pointer2014080420140622
1164387refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1164567refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1173909refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062120140525
1174047refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062120140525
1180653refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140525
1180812refgcc -funroll-loops -O2 -fomit-frame-pointer2014062120140525
1185036refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062120140525
1192266refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062120140525
1193853refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062120140525
1247148refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062120140525
1247157refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062120140525
1256172refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062120140525
1259160refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062120140525
1287612refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062120140525
1290474refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062120140525
1311849refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062120140525
1311999refgcc -funroll-loops -O -fomit-frame-pointer2014062120140525
1313250refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062120140525
1430082refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062120140525
1430169refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062120140525
1438503refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062120140525
1438509refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062120140525
1438560refgcc -funroll-loops -Os -fomit-frame-pointer2014062120140525
1439493refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062120140525
1441410refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062120140525
1456530refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062120140525
1457034refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062120140525
1482285refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1482357refgcc -march=barcelona -O2 -fomit-frame-pointer2014062120140525
1494675refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062120140525
1517376refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062120140525
1517424refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062120140525
1517436refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062120140525
1517448refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062120140525
1517634refgcc -m64 -O2 -fomit-frame-pointer2014062120140525
1517661refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140525
1520226refgcc -O2 -fomit-frame-pointer2014062120140525
1523733refgcc -march=k8 -O2 -fomit-frame-pointer2014062120140525
1524843refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062120140525
1557276refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062120140525
1557300refgcc -march=nocona -O2 -fomit-frame-pointer2014062120140525
1575150refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062120140525
1575183refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062120140525
1575240refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062120140525
1577937refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062120140525
1624632refgcc -march=nocona -Os -fomit-frame-pointer2014062120140525
1625907refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062120140525
1643733refgcc -march=k8 -O -fomit-frame-pointer2014062120140525
1643865refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062120140525
1665285refgcc -march=barcelona -O -fomit-frame-pointer2014062120140525
1665351refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062120140525
1665375refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062120140525
1666668refgcc -march=barcelona -Os -fomit-frame-pointer2014062120140525
1668537refgcc -m64 -Os -fomit-frame-pointer2014062120140525
1668585refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062120140525
1668603refgcc -march=k8 -Os -fomit-frame-pointer2014062120140525
1668639refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062120140525
1668894refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062120140525
1670352refgcc -Os -fomit-frame-pointer2014062120140525
1670550refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062120140525
1694127refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062120140525
1696353refgcc -march=nocona -O -fomit-frame-pointer2014062120140525
1697871refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062120140525
1697895refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062120140525
1697907refgcc -O -fomit-frame-pointer2014062120140525
1697970refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062120140525
1698297refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062120140525
1699899refgcc -m64 -O -fomit-frame-pointer2014062120140525
1699908refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062120140525
5234967refcc2014062120140525
5235111refgcc2014062120140525
5235567refgcc -funroll-loops2014062120140525

Test failure

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