Implementation notes: amd64, h5nano, crypto_aead/iscream14v1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream14v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
228240ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
228260ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
228265ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
228295ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
228300ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
281370ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
281375ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
281430ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
281505ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
281775ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
286640ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
286645ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
286680ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
286685ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
286685ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
689000refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
689025refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
701370refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
701370refgcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
710185refgcc -m64 -O3 -fomit-frame-pointer2014080820140622
710200refgcc -O3 -fomit-frame-pointer2014080820140622
711755refgcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
711815refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
712955refgcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
712990refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
715135refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
725650refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
725660refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
725675refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
725690refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
725705refgcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
726820refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
726845refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
728420refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
735355refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
735355refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
735380refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
735420refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
808645refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080820140622
808650refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080820140622
808700refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101720141014
808710refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101720141014
813535refclang -O3 -fomit-frame-pointer2014080820140622
1173010refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1173370refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1189345refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
1189365refgcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
1189395refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1189430refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1189865refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
1221375refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1221530refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
1265380refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
1265405refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1278370refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
1278380refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
1278385refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1278390refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1289650refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1289705refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
1289730refgcc -funroll-loops -O -fomit-frame-pointer2014080820140622
1323125refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
1323125refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
1323125refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
1324390refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1324480refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1324645refgcc -m64 -O2 -fomit-frame-pointer2014080820140622
1324660refgcc -O2 -fomit-frame-pointer2014080820140622
1324770refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1324785refgcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1325035refgcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
1325270refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
1326000refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1326015refgcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
1337960refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
1494700refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
1496965refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1584940refgcc -march=nocona -O -fomit-frame-pointer2014080820140622
1589920refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1698760refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1724910refgcc -march=nocona -Os -fomit-frame-pointer2014080820140622
1795250refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1795285refgcc -march=barcelona -O -fomit-frame-pointer2014080820140622
1795290refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1795300refgcc -march=k8 -O -fomit-frame-pointer2014080820140622
1798670refgcc -m64 -O -fomit-frame-pointer2014080820140622
1798670refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
1798690refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
1798710refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1798735refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
1800780refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
1800875refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
1808030refgcc -O -fomit-frame-pointer2014080820140622
1820690refgcc -Os -fomit-frame-pointer2014080820140622
1820715refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1820760refgcc -march=k8 -Os -fomit-frame-pointer2014080820140622
1855935refgcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
1857805refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1859535refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
1859620refgcc -m64 -Os -fomit-frame-pointer2014080820140622
1878135refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080820140622
1878190refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080820140622
1879635refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080820140622
1896615refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1896625refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
1897355refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1897375refgcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
1897375refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
1899045refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
1904300refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080820140622
1904570refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080820140622
1910180refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
4490355refgcc2014080820140622
4490405refcc2014080820140622
4490470refgcc -funroll-loops2014080820140622

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