Implementation notes: amd64, bigmem, crypto_aead/scream12v2

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_aead
Primitive: scream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
525818refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
525819refgcc -funroll-loops -O3 -fomit-frame-pointer2015021620141124
526077refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2015021620141124
526102refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
526252refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
526292refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
526467refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
531233refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2015021620141124
531403refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
531907refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
531910refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021620141124
533301refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2015021620141124
533684refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
534616refgcc -m64 -O3 -fomit-frame-pointer2015021620141124
534832refgcc -O3 -fomit-frame-pointer2015021620141124
535724refgcc -march=nocona -O3 -fomit-frame-pointer2015021620141124
535945refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
536126refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
540402refgcc -march=k8 -O3 -fomit-frame-pointer2015021620141124
540419refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
541102refgcc -march=barcelona -O3 -fomit-frame-pointer2015021620141124
541116refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
616026refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
616216refgcc -funroll-loops -O -fomit-frame-pointer2015021620141124
616247refgcc -funroll-loops -m64 -O -fomit-frame-pointer2015021620141124
619248refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
619545refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021620141124
620151refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
620188refgcc -funroll-loops -O2 -fomit-frame-pointer2015021620141124
620191refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2015021620141124
622506refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
622784refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2015021620141124
623155refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
623155refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2015021620141124
623447refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
624144refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021620141124
624818refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021620141124
624844refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
689554refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
689823refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021620141124
734576refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
735409refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
740622refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
740897refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
741447refgcc -march=k8 -O2 -fomit-frame-pointer2015021620141124
741520refgcc -march=nocona -O2 -fomit-frame-pointer2015021620141124
743540refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
746779refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
747337refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
751145refgcc -march=barcelona -O2 -fomit-frame-pointer2015021620141124
753097refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
753318refgcc -O2 -fomit-frame-pointer2015021620141124
753556refgcc -m64 -O2 -fomit-frame-pointer2015021620141124
757234refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2015021620141124
757350refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
759954refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
764198refgcc -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
764311refgcc -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
764315refgcc -Os -fomit-frame-pointer2015021620141124
768839refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
769395refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2015021620141124
770519refgcc -funroll-loops -Os -fomit-frame-pointer2015021620141124
770686refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2015021620141124
770930refgcc -march=nocona -Os -fomit-frame-pointer2015021620141124
773848refgcc -march=barcelona -Os -fomit-frame-pointer2015021620141124
774574refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
774840refgcc -march=k8 -Os -fomit-frame-pointer2015021620141124
776305refgcc -m64 -Os -fomit-frame-pointer2015021620141124
778065refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
778104refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2015021620141124
780079refgcc -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
784409refgcc -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
784762refgcc -march=nocona -O -fomit-frame-pointer2015021620141124
785094refgcc -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
785369refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
785661refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
786437refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
791956refgcc -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
793217refgcc -march=k8 -O -fomit-frame-pointer2015021620141124
795274refgcc -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
797700refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
797974refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
798258refgcc -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
799980refgcc -march=barcelona -O -fomit-frame-pointer2015021620141124
809240refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
809696refgcc -m64 -O -fomit-frame-pointer2015021620141124
813657refgcc -O -fomit-frame-pointer2015021620141124
813756refgcc -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
2240039refgcc -funroll-loops2015021620141124
2246312refcc2015021620141124
2247071refgcc2015021620141124

Compiler output

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