Implementation notes: amd64, h5nano, crypto_aead/iscream12v2

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
195040ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
195040ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
195040ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
195045ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
195095ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
241530ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
241545ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
241600ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
241620ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
241640ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
246630ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
246645ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
246670ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
246710ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
246775ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
605555refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
605695refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
619070refgcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
619105refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
622820refgcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
622830refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
625160refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
625180refgcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
626565refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
626640refgcc -m64 -O3 -fomit-frame-pointer2014080820140622
626680refgcc -O3 -fomit-frame-pointer2014080820140622
632540refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
633645refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
633660refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
633740refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
633740refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
636035refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
636065refgcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
636660refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
637655refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
638080refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
638080refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
638110refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
702995refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101720141014
703020refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101720141014
703025refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080820140622
703035refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080820140622
709475refclang -O3 -fomit-frame-pointer2014080820140622
1015155refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1015415refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1028800refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
1028820refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1029160refgcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
1029180refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
1029195refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1056345refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
1065720refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1096805refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1096835refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
1112345refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1112920refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
1112935refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
1113080refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1114450refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
1114535refgcc -funroll-loops -O -fomit-frame-pointer2014080820140622
1114540refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1147545refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
1148180refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
1148855refgcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1148870refgcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
1149470refgcc -m64 -O2 -fomit-frame-pointer2014080820140622
1149660refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
1150295refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
1151290refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1151555refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1152530refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
1154285refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1154295refgcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
1155150refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1197595refgcc -O2 -fomit-frame-pointer2014080820140622
1292490refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1292535refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
1372475refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1374045refgcc -march=nocona -O -fomit-frame-pointer2014080820140622
1468530refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1468545refgcc -march=nocona -Os -fomit-frame-pointer2014080820140622
1557195refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1557220refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1557235refgcc -march=barcelona -O -fomit-frame-pointer2014080820140622
1557240refgcc -march=k8 -O -fomit-frame-pointer2014080820140622
1558595refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1558595refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
1558605refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
1558610refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
1558645refgcc -m64 -O -fomit-frame-pointer2014080820140622
1558650refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
1558665refgcc -O -fomit-frame-pointer2014080820140622
1560825refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
1574260refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1575495refgcc -Os -fomit-frame-pointer2014080820140622
1575510refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
1575520refgcc -m64 -Os -fomit-frame-pointer2014080820140622
1575575refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1575595refgcc -march=k8 -Os -fomit-frame-pointer2014080820140622
1576455refgcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
1614365refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080820140622
1614525refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080820140622
1614580refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080820140622
1614900refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080820140622
1614920refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080820140622
1639120refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
1639145refgcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
1639145refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
1639145refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
1640005refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
1640010refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1641930refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
3949275refgcc -funroll-loops2014080820140622
3950135refcc2014080820140622
3959935refgcc2014080820140622

Test failure

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