Implementation notes: amd64, h5nano, crypto_aead/iscream14v2

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream14v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
227130ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
227130ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
227145ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
227310ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
227345ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
279460ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
279490ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
279490ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
279585ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
279610ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
285115ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
285115ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
285115ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
285130ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
285185ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
692545refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
692555refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
703475refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
703480refgcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
709820refgcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
709835refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
710375refgcc -m64 -O3 -fomit-frame-pointer2014080820140622
710385refgcc -O3 -fomit-frame-pointer2014080820140622
710395refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
711605refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
711605refgcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
718890refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
718890refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
724500refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
724550refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
724570refgcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
724870refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
725025refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
734955refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
735085refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
735105refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
735120refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
735280refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
807040refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101720141014
807055refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080820140622
807130refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080820140622
807260refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101720141014
814720refclang -O3 -fomit-frame-pointer2014080820140622
1172880refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1172900refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1188895refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1188895refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
1189325refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
1189335refgcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
1189335refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1221545refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
1221570refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1265565refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
1265580refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1277840refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1277845refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1277865refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
1277885refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
1289975refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1289985refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
1289995refgcc -funroll-loops -O -fomit-frame-pointer2014080820140622
1323170refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
1323200refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
1323810refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
1323810refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
1324305refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1324325refgcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1324445refgcc -O2 -fomit-frame-pointer2014080820140622
1324485refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1324485refgcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
1325055refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1325075refgcc -m64 -O2 -fomit-frame-pointer2014080820140622
1330980refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1330985refgcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
1332620refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
1490915refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1527660refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
1599445refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1599465refgcc -march=nocona -O -fomit-frame-pointer2014080820140622
1695585refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1695585refgcc -march=nocona -Os -fomit-frame-pointer2014080820140622
1819140refgcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
1819175refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1820575refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
1820595refgcc -Os -fomit-frame-pointer2014080820140622
1820595refgcc -march=k8 -Os -fomit-frame-pointer2014080820140622
1820605refgcc -m64 -Os -fomit-frame-pointer2014080820140622
1820770refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1824360refgcc -march=k8 -O -fomit-frame-pointer2014080820140622
1824430refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1825470refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
1825490refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
1825490refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
1825520refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1825525refgcc -m64 -O -fomit-frame-pointer2014080820140622
1825555refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
1825570refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
1850435refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1850435refgcc -march=barcelona -O -fomit-frame-pointer2014080820140622
1853820refgcc -O -fomit-frame-pointer2014080820140622
1864610refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080820140622
1864620refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080820140622
1864725refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080820140622
1864985refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080820140622
1873070refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080820140622
1895030refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
1895030refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
1895265refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1897335refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
1901945refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
1903575refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1904365refgcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
4545985refgcc2014080820140622
4554125refcc2014080820140622
4556820refgcc -funroll-loops2014080820140622

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