Implementation notes: amd64, h4e350, crypto_aead/scream12v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: scream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
400902ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062920140525
403812ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062920140525
403881ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062920140525
403881ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062920140525
403941ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062920140525
415512ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062920140525
416202ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062920140525
416247ssegcc -m64 -march=core2 -O -fomit-frame-pointer2014062920140525
416289ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062920140525
416478ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2014062920140525
448257ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062920140525
454365ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062920140525
646677refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062920140525
648672refgcc -funroll-loops -O3 -fomit-frame-pointer2014062920140525
648729refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062920140525
649149refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062920140525
651348refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062920140525
651564refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062920140525
654234refgcc -m64 -O3 -fomit-frame-pointer2014062920140525
654534refgcc -O3 -fomit-frame-pointer2014062920140525
654993refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062920140525
661371refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062920140525
661386refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062920140525
662175refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062920140525
662217refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062920140525
663294refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062920140525
663453refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062920140525
665160refgcc -funroll-loops -O2 -fomit-frame-pointer2014062920140525
665214refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062920140525
665238refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062920140525
667986refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062920140525
668253refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062920140525
669261refgcc -march=barcelona -O3 -fomit-frame-pointer2014062920140525
669648refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062920140525
669705refgcc -march=k8 -O3 -fomit-frame-pointer2014062920140525
670065refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062920140525
670545refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062920140525
674106refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062920140525
674595refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062920140525
704937refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062920140525
705207refgcc -march=nocona -O3 -fomit-frame-pointer2014062920140525
719223refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062920140525
719283refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062920140525
719325refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062920140525
719394refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062920140525
727368refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062920140525
727371refgcc -funroll-loops -O -fomit-frame-pointer2014062920140525
727473refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062920140525
813549refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062920140525
813621refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062920140525
842946refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101820141014
843027refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080520140622
843060refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
843549refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080520140622
846450refclang -O3 -fomit-frame-pointer2014080520140622
1081236refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062920140525
1082106refgcc -march=k8 -O2 -fomit-frame-pointer2014062920140525
1084896refgcc -march=barcelona -O2 -fomit-frame-pointer2014062920140525
1085016refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062920140525
1089546refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062920140525
1098903refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062920140525
1098954refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062920140525
1099608refgcc -m64 -O2 -fomit-frame-pointer2014062920140525
1099644refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062920140525
1099812refgcc -O2 -fomit-frame-pointer2014062920140525
1101144refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062920140525
1101465refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062920140525
1111332refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062920140525
1111338refgcc -march=nocona -O2 -fomit-frame-pointer2014062920140525
1132026refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062920140525
1133355refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062920140525
1156878refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062920140525
1158723refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062920140525
1159503refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062920140525
1159713refgcc -funroll-loops -Os -fomit-frame-pointer2014062920140525
1159914refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062920140525
1159935refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062920140525
1160010refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062920140525
1166088refgcc -march=nocona -O -fomit-frame-pointer2014062920140525
1167264refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062920140525
1203657refgcc -m64 -O -fomit-frame-pointer2014062920140525
1203699refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062920140525
1203738refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062920140525
1204002refgcc -O -fomit-frame-pointer2014062920140525
1204071refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062920140525
1204914refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062920140525
1205187refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062920140525
1234182refgcc -march=nocona -Os -fomit-frame-pointer2014062920140525
1236726refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062920140525
1280574refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062920140525
1280586refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062920140525
1281858refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062920140525
1282500refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062920140525
1321953refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062920140525
1322085refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062920140525
1322841refgcc -m64 -Os -fomit-frame-pointer2014062920140525
1322889refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062920140525
1323222refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062920140525
1323318refgcc -march=k8 -Os -fomit-frame-pointer2014062920140525
1324419refgcc -Os -fomit-frame-pointer2014062920140525
1324563refgcc -march=barcelona -Os -fomit-frame-pointer2014062920140525
1510179refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062920140525
1510224refgcc -march=k8 -O -fomit-frame-pointer2014062920140525
1524111refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062920140525
1524129refgcc -march=barcelona -O -fomit-frame-pointer2014062920140525
1524153refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062920140525
4585530refgcc2014062920140525
4587024refcc2014062920140525
4587711refgcc -funroll-loops2014062920140525

Test failure

Implementation: crypto_aead/scream12v1/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/scream12v1/sse
Compiler: cc
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:199:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:204:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:212:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:225:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:281:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:285:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:286:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:293:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:294:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:298:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: ...

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/scream12v1/sse
Compiler: clang -O3 -fomit-frame-pointer
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.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/scream12v1/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/scream12v1/sse
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: clang: warning: argument unused during compilation: '-mpclmul'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.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/scream12v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
scream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
scream_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/scream12v1/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
scream.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: clang: warning: argument unused during compilation: '-mpclmul'
scream.c: clang: warning: argument unused during compilation: '-fpolly'
scream.c: clang: warning: argument unused during compilation: '-fvectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.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/scream12v1/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
scream_cipher.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-mpclmul'
scream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
scream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
scream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream_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/scream12v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.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/scream12v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
scream_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/scream12v1/sse
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
scream.c: clang: warning: argument unused during compilation: '-mavx2'
scream.c: clang: warning: argument unused during compilation: '-fpolly'
scream.c: clang: warning: argument unused during compilation: '-fvectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wattributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.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/scream12v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
scream_cipher.c: clang: warning: argument unused during compilation: '-mavx2'
scream_cipher.c: clang: warning: argument unused during compilation: '-fpolly'
scream_cipher.c: clang: warning: argument unused during compilation: '-fvectorize'
scream_cipher.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
scream_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/scream12v1/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:199:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:204:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:212:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:225:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:281:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:285:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:286:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:293:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:294:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:298:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: ...
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:198:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:199:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:203:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:204:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:211:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:212:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:216:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:217:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:224:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:225:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:229:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:230:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:281:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:285:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:286:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: scream.c:293:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:294:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:298:7: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: ...

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