Implementation notes: amd64, jos, crypto_aead/scream12v2

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: scream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
620835refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014070920140622
621892refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014070920140622
621923refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014070920140622
622965refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014070920140622
623242refgcc -march=k8 -O3 -fomit-frame-pointer2014070920140622
623258refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014070920140622
623490refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014070920140622
623715refgcc -march=nocona -O3 -fomit-frame-pointer2014070920140622
625215refgcc -m64 -O3 -fomit-frame-pointer2014070920140622
625913refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014070920140622
626055refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014070920140622
626063refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014070920140622
628268refgcc -march=barcelona -O3 -fomit-frame-pointer2014070920140622
628350refgcc -funroll-loops -O3 -fomit-frame-pointer2014070920140622
628995refgcc -O3 -fomit-frame-pointer2014070920140622
629580refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014070920140622
631125refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014070920140622
631215refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014070920140622
631298refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014070920140622
631523refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014070920140622
631530refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014070920140622
633780refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014070920140622
683122refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014070920140622
683400refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014070920140622
683610refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014070920140622
684180refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014070920140622
684578refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014070920140622
684728refgcc -funroll-loops -O2 -fomit-frame-pointer2014070920140622
685230refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014070920140622
687330refgcc -funroll-loops -O -fomit-frame-pointer2014070920140622
687420refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014070920140622
688815refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014070920140622
690210refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014070920140622
691065refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014070920140622
691538refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014070920140622
691943refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014070920140622
692662refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014070920140622
692955refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014070920140622
708705refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014070920140622
708855refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014070920140622
769508refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014070920140622
770505refgcc -march=nocona -O2 -fomit-frame-pointer2014070920140622
774345refgcc -m64 -march=k8 -O -fomit-frame-pointer2014070920140622
775560refgcc -m64 -O2 -fomit-frame-pointer2014070920140622
776003refgcc -march=k8 -O -fomit-frame-pointer2014070920140622
780270refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014070920140622
781312refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014070920140622
781373refgcc -O -fomit-frame-pointer2014070920140622
781845refgcc -O2 -fomit-frame-pointer2014070920140622
782993refgcc -fno-schedule-insns -O -fomit-frame-pointer2014070920140622
783158refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014070920140622
786653refgcc -march=k8 -O2 -fomit-frame-pointer2014070920140622
786870refgcc -m64 -march=nocona -O -fomit-frame-pointer2014070920140622
789075refgcc -march=barcelona -O -fomit-frame-pointer2014070920140622
789915refgcc -m64 -march=core2 -O -fomit-frame-pointer2014070920140622
789975refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014070920140622
790208refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014070920140622
792600refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014070920140622
792832refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014070920140622
793650refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014070920140622
793822refgcc -march=nocona -O -fomit-frame-pointer2014070920140622
795450refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014070920140622
795930refgcc -march=barcelona -O2 -fomit-frame-pointer2014070920140622
797670refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014070920140622
801142refgcc -m64 -O -fomit-frame-pointer2014070920140622
806175refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014070920140622
864788refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014070920140622
868208refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014070920140622
869273refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014070920140622
870037refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014070920140622
870495refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014070920140622
870683refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014070920140622
882150refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014070920140622
892597refgcc -funroll-loops -Os -fomit-frame-pointer2014070920140622
893348refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014070920140622
931087refgcc -march=nocona -Os -fomit-frame-pointer2014070920140622
934155refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014070920140622
947700refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014070920140622
947730refgcc -march=k8 -Os -fomit-frame-pointer2014070920140622
948157refgcc -Os -fomit-frame-pointer2014070920140622
959910refgcc -march=barcelona -Os -fomit-frame-pointer2014070920140622
962482refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014070920140622
963098refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014070920140622
969037refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014070920140622
970283refgcc -m64 -Os -fomit-frame-pointer2014070920140622
974385refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014070920140622
984517refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014070920140622
992970refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014070920140622
2737560refcc2014070920140622
2747625refgcc -funroll-loops2014070920140622
2825332refgcc2014070920140622

Compiler output

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

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'tweakey_set':
scream.c: scream.c:412:16: error: subscripted value is neither array nor pointer

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