Implementation notes: amd64, h5nano, crypto_aead/iscream12v1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: iscream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
196205ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
196225ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080820140622
196240ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080820140622
196270ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
196275ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080820140622
243295ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
243325ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
243360ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
243380ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
243440ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
248185ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
248200ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
248220ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
248220ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
248665ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
605490refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
605495refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
610955refgcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
610970refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
622395refgcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
622565refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080720140622
623545refgcc -O3 -fomit-frame-pointer2014080820140622
625240refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080720140622
625240refgcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
627910refgcc -m64 -O3 -fomit-frame-pointer2014080720140622
627915refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
635045refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
635045refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
635475refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
635490refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
637245refgcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
637245refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
637245refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
638335refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080720140622
638335refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014080720140622
638335refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014080720140622
638335refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014080720140622
638390refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080720140622
703785refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080820140622
703800refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080820140622
703825refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101720141014
703865refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101720141014
707670refclang -O3 -fomit-frame-pointer2014080820140622
1015280refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1015280refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1029260refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
1029275refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1029305refgcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
1029330refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1029600refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
1056150refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1056165refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
1096590refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
1098870refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1111930refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
1112065refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
1112090refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
1112130refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1113940refgcc -funroll-loops -O -fomit-frame-pointer2014080820140622
1113940refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
1113995refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1147495refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080720140622
1147495refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080720140622
1147515refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080720140622
1147525refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080720140622
1148065refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080720140622
1148730refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
1148765refgcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
1148785refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080720140622
1148850refgcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
1149035refgcc -O2 -fomit-frame-pointer2014080820140622
1149035refgcc -m64 -O2 -fomit-frame-pointer2014080720140622
1149425refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
1150460refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
1150465refgcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
1296275refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
1296350refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1372280refgcc -march=nocona -O -fomit-frame-pointer2014080820140622
1372420refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
1469855refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
1493155refgcc -march=nocona -Os -fomit-frame-pointer2014080820140622
1555610refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080720140622
1555670refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
1555675refgcc -march=barcelona -O -fomit-frame-pointer2014080820140622
1557795refgcc -march=k8 -O -fomit-frame-pointer2014080820140622
1562715refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
1562735refgcc -O -fomit-frame-pointer2014080820140622
1562735refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080720140622
1562735refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080720140622
1562755refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080720140622
1562755refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080720140622
1562755refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014080720140622
1564815refgcc -m64 -O -fomit-frame-pointer2014080720140622
1575530refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1576240refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080720140622
1576665refgcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
1577475refgcc -Os -fomit-frame-pointer2014080820140622
1579665refgcc -march=k8 -Os -fomit-frame-pointer2014080820140622
1606140refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080720140622
1606145refgcc -m64 -Os -fomit-frame-pointer2014080720140622
1627780refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080720140622
1627785refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080720140622
1629590refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080720140622
1640640refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
1641400refgcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
1641400refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
1641400refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
1641400refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
1641410refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
1642870refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
1646980refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080720140622
1649270refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080720140622
3895010refcc2014080820140622
3895035refgcc2014080820140622
3895040refgcc -funroll-loops2014080820140622

Test failure

Implementation: crypto_aead/iscream12v1/sse
Compiler: gcc -m64 -march=core2 -Os -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
gcc -m64 -march=core2 -Os -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer sse
gcc -m64 -march=corei7 -Os -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: cc
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:221:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:222:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:234:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:235:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:242:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:243:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:247:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:248:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc sse
gcc sse
gcc -O2 -fomit-frame-pointer sse
gcc -O3 -fomit-frame-pointer sse
gcc -O -fomit-frame-pointer sse
gcc -Os -fomit-frame-pointer sse
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops sse
gcc -funroll-loops -O2 -fomit-frame-pointer sse
gcc -funroll-loops -O3 -fomit-frame-pointer sse
gcc -funroll-loops -O -fomit-frame-pointer sse
gcc -funroll-loops -Os -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer sse
gcc -m64 -O2 -fomit-frame-pointer sse
gcc -m64 -O3 -fomit-frame-pointer sse
gcc -m64 -O -fomit-frame-pointer sse
gcc -m64 -Os -fomit-frame-pointer sse
gcc -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -march=barcelona -O2 -fomit-frame-pointer sse
gcc -march=barcelona -O3 -fomit-frame-pointer sse
gcc -march=barcelona -O -fomit-frame-pointer sse
gcc -march=barcelona -Os -fomit-frame-pointer sse
gcc -march=k8 -O2 -fomit-frame-pointer sse
gcc -march=k8 -O3 -fomit-frame-pointer sse
gcc -march=k8 -O -fomit-frame-pointer sse
gcc -march=k8 -Os -fomit-frame-pointer sse
gcc -march=nocona -O2 -fomit-frame-pointer sse
gcc -march=nocona -O3 -fomit-frame-pointer sse
gcc -march=nocona -O -fomit-frame-pointer sse
gcc -march=nocona -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: clang -O3 -fomit-frame-pointer
iscream.c: iscream.c:48:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:114:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/ref
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: clang: warning: argument unused during compilation: '-mpclmul'
iscream.c: iscream.c:48:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:114:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
iscream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mpclmul'
tae.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: clang: warning: argument unused during compilation: '-mpclmul'
iscream.c: clang: warning: argument unused during compilation: '-fpolly'
iscream.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
iscream.c: iscream.c:48:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:114:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
iscream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-mpclmul'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
tae.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-mpclmul'
tae.c: clang: warning: argument unused during compilation: '-fpolly'
tae.c: clang: warning: argument unused during compilation: '-fvectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: iscream.c:48:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:114:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
iscream.c: clang: warning: argument unused during compilation: '-mavx2'
iscream.c: clang: warning: argument unused during compilation: '-fpolly'
iscream.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
iscream.c: iscream.c:48:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: iscream.c:114:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
iscream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict TK) {
iscream.c: ^
iscream.c: fatal error: error in backend: Cannot select: intrinsic %llvm.x86.ssse3.pshuf.b.128

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream12v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
iscream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
iscream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
tae.c: clang: warning: argument unused during compilation: '-mavx2'
tae.c: clang: warning: argument unused during compilation: '-fpolly'
tae.c: clang: warning: argument unused during compilation: '-fvectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
tae.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/iscream12v1/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:221:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:222:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:234:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:235:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:242:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:243:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:247:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:248:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
iscream.c: iscream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:221:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:222:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:234:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:235:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:242:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:243:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:247:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
iscream.c: iscream.c:248:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -m64 -march=barcelona -O -fomit-frame-pointer sse
gcc -m64 -march=barcelona -Os -fomit-frame-pointer sse