Implementation notes: amd64, enigma, crypto_aead/scream12v2

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: scream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
620757refgcc -m64 -O3 -fomit-frame-pointer2014060520140529
621900refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140529
622260refgcc -O3 -fomit-frame-pointer2014060520140529
628614refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140529
629109refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060520140529
631575refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140529
632250refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060520140529
632817refgcc -march=nocona -O3 -fomit-frame-pointer2014060520140529
633366refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060520140529
633816refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060520140529
634014refgcc -funroll-loops -O3 -fomit-frame-pointer2014060520140529
634275refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140529
634869refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060520140529
634887refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140529
635328refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140529
635418refgcc -march=k8 -O3 -fomit-frame-pointer2014060520140529
635949refgcc -march=barcelona -O3 -fomit-frame-pointer2014060520140529
635994refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140529
636057refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060520140529
636174refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060520140529
636354refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140529
636399refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140529
637884refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060520140529
734112refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140529
734184refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060520140529
757629refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060520140529
758655refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140529
763056refgcc -funroll-loops -O -fomit-frame-pointer2014060520140529
763281refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060520140529
763704refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060520140529
763722refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060520140529
764415refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060520140529
764622refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060520140529
764928refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060520140529
766017refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140529
766197refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060520140529
768024refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060520140529
768150refgcc -funroll-loops -O2 -fomit-frame-pointer2014060520140529
768150refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140529
847899refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060520140529
849357refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060520140529
877554refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140529
877698refgcc -O2 -fomit-frame-pointer2014060520140529
878823refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140529
879309refgcc -m64 -O2 -fomit-frame-pointer2014060520140529
880677refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060520140529
880686refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060520140529
880722refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140529
881298refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060520140529
885762refgcc -march=nocona -O2 -fomit-frame-pointer2014060520140529
886095refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140529
888651refgcc -march=k8 -O2 -fomit-frame-pointer2014060520140529
888687refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140529
896418refgcc -march=barcelona -O2 -fomit-frame-pointer2014060520140529
897948refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060520140529
913014refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060520140529
913581refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060520140529
914040refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060520140529
915642refgcc -funroll-loops -Os -fomit-frame-pointer2014060520140529
916623refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060520140529
917766refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140529
919692refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060520140529
920898refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060520140529
922986refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060520140529
930465refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060520140529
930834refgcc -march=k8 -O -fomit-frame-pointer2014060520140529
930861refgcc -m64 -Os -fomit-frame-pointer2014060520140529
933867refgcc -march=nocona -Os -fomit-frame-pointer2014060520140529
934677refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060520140529
934893refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060520140529
935127refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060520140529
936090refgcc -march=barcelona -Os -fomit-frame-pointer2014060520140529
936522refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060520140529
937530refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060520140529
940770refgcc -Os -fomit-frame-pointer2014060520140529
943245refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060520140529
945225refgcc -march=nocona -O -fomit-frame-pointer2014060520140529
948465refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140529
950823refgcc -march=k8 -Os -fomit-frame-pointer2014060520140529
950913refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140529
955629refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060520140529
957366refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060520140529
957456refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060520140529
963693refgcc -m64 -O -fomit-frame-pointer2014060520140529
969309refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060520140529
975942refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060520140529
982935refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060520140529
983538refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060520140529
985797refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060520140529
986220refgcc -O -fomit-frame-pointer2014060520140529
991845refgcc -march=barcelona -O -fomit-frame-pointer2014060520140529
1018638refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060520140529
2676258refgcc2014060520140529
2689659refgcc -funroll-loops2014060520140529
2693934refcc2014060520140529

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: scream.c:306: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:307: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:311: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:312: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:319: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:320: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:324: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:325: error: invalid operands to binary ^ (have 'v16qi' and 'int')
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: 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: scream.c:306: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:307: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:311: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:312: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:319: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:320: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:324: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:325: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c: In function 'tweakey_set':
scream.c: scream.c:412: error: subscripted value is neither array nor 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: scream.c:306: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:307: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:311: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:312: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:319: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:320: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:324: error: invalid operands to binary ^ (have 'v16qi' and 'int')
scream.c: scream.c:325: error: invalid operands to binary ^ (have 'v16qi' and 'int')
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: 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