Implementation notes: amd64, enigma, crypto_aead/aes128poetv1aes4

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: aes128poetv1aes4
TimeImplementationCompilerBenchmark dateSUPERCOP version
6328296refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060120140529
6416028refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060120140529
6461505refgcc -funroll-loops -O3 -fomit-frame-pointer2014060120140529
6465681refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060120140529
6540633refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060120140529
6556446refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060120140529
6628869refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060120140529
6770106refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060120140529
6810930refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060120140529
8703171refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060120140529
8703342refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060120140529
8712765refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060120140529
8715969refgcc -march=barcelona -O3 -fomit-frame-pointer2014060120140529
8745093refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060120140529
8745822refgcc -march=k8 -O3 -fomit-frame-pointer2014060120140529
8801631refgcc -O3 -fomit-frame-pointer2014060120140529
8802423refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060120140529
8802432refgcc -m64 -O3 -fomit-frame-pointer2014060120140529
8949672refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060120140529
8971848refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060120140529
8972073refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060120140529
9196695refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060120140529
13792842refgcc -march=nocona -O3 -fomit-frame-pointer2014060120140529
15983451refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060120140529
16062534refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060120140529
16648596refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060120140529
16677603refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060120140529
16731684refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060120140529
16742043refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060120140529
16743447refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060120140529
16752726refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060120140529
16752861refgcc -funroll-loops -O2 -fomit-frame-pointer2014060120140529
16850547refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060120140529
16854759refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060120140529
16855920refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060120140529
16859106refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060120140529
16860807refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060120140529
16861041refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060120140529
16872102refgcc -funroll-loops -O -fomit-frame-pointer2014060120140529
17025408refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060120140529
17027739refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060120140529
21602457refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060120140529
21603042refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060120140529
21604005refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060120140529
21604554refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060120140529
21646989refgcc -march=k8 -O2 -fomit-frame-pointer2014060120140529
21650706refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060120140529
21694077refgcc -m64 -O2 -fomit-frame-pointer2014060120140529
21694599refgcc -O2 -fomit-frame-pointer2014060120140529
21695238refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060120140529
21695688refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060120140529
21696345refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060120140529
21696534refgcc -march=barcelona -O2 -fomit-frame-pointer2014060120140529
21702249refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060120140529
21703482refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060120140529
21703572refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060120140529
21703734refgcc -funroll-loops -Os -fomit-frame-pointer2014060120140529
21704265refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060120140529
21708999refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060120140529
21713157refgcc -Os -fomit-frame-pointer2014060120140529
21713526refgcc -m64 -Os -fomit-frame-pointer2014060120140529
21713562refgcc -march=k8 -Os -fomit-frame-pointer2014060120140529
21721509refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060120140529
21721887refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060120140529
21735234refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060120140529
21736530refgcc -march=barcelona -Os -fomit-frame-pointer2014060120140529
21736764refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060120140529
21737628refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060120140529
21742884refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060120140529
21751281refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060120140529
21752865refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060120140529
21755646refgcc -march=nocona -O2 -fomit-frame-pointer2014060120140529
21760992refgcc -march=nocona -Os -fomit-frame-pointer2014060120140529
21761469refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060120140529
21777786refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060120140529
21780144refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060120140529
21795966refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060120140529
21808872refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060120140529
22087980refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060120140529
22096989refgcc -march=nocona -O -fomit-frame-pointer2014060120140529
22305708refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060120140529
22308732refgcc -O -fomit-frame-pointer2014060120140529
22309452refgcc -m64 -O -fomit-frame-pointer2014060120140529
22314312refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060120140529
22321809refgcc -march=k8 -O -fomit-frame-pointer2014060120140529
22341456refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060120140529
22344597refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060120140529
22345137refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060120140529
22362255refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060120140529
22362264refgcc -march=barcelona -O -fomit-frame-pointer2014060120140529
22364487refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060120140529
22371228refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060120140529
88593480refgcc2014060120140529
88604082refcc2014060120140529
88649325refgcc -funroll-loops2014060120140529

Compiler output

Implementation: crypto_aead/aes128poetv1aes4/ni
Compiler: cc
aes-ni.c: In file included from aes-ni.h:4,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
aes-ni.c: In file included from aes-ni.h:6,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/smmintrin.h:32:3: error: #error "SSE4.1 instruction set not enabled"
aes-ni.c: aes-ni.c: In function 'AES_Key_Dec':
aes-ni.c: aes-ni.c:6: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:7: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:8: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: ...
aes-ni.c: aes-ni.c: In function 'AESNI_Key_Expansion4':
aes-ni.c: aes-ni.c:124: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:127: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:133: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c: In function 'AESNI_encrypt4':
aes-ni.c: aes-ni.c:146: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:147: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:148: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:149: error: incompatible types when assigning to type '__m128i' from type 'int'

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

Compiler output

Implementation: crypto_aead/aes128poetv1aes4/ni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
aes-ni.c: In file included from aes-ni.h:4,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
aes-ni.c: In file included from aes-ni.h:6,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/smmintrin.h:32:3: error: #error "SSE4.1 instruction set not enabled"
aes-ni.c: aes-ni.c: In function 'AES_Key_Dec':
aes-ni.c: aes-ni.c:6: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:7: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:8: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: ...
aes-ni.c: aes-ni.c: In function 'AESNI_Key_Expansion4':
aes-ni.c: aes-ni.c:124: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:127: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:133: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c: In function 'AESNI_encrypt4':
aes-ni.c: aes-ni.c:146: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:147: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:148: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:149: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: In file included from aes-ni.h:4,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
aes-ni.c: In file included from aes-ni.h:6,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/smmintrin.h:32:3: error: #error "SSE4.1 instruction set not enabled"
aes-ni.c: aes-ni.c: In function 'AES_Key_Dec':
aes-ni.c: aes-ni.c:6: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:7: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:8: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: ...
aes-ni.c: aes-ni.c: In function 'AESNI_Key_Expansion4':
aes-ni.c: aes-ni.c:124: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:127: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:133: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c: In function 'AESNI_encrypt4':
aes-ni.c: aes-ni.c:146: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:147: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:148: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:149: error: incompatible types when assigning to type '__m128i' from type 'int'

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

Compiler output

Implementation: crypto_aead/aes128poetv1aes4/ni
Compiler: gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
aes-ni.c: In file included from aes-ni.h:4,
aes-ni.c: from aes-ni.c:1:
aes-ni.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
aes-ni.c: aes-ni.c: In function 'AES_Key_Dec':
aes-ni.c: aes-ni.c:6: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:7: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:8: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:9: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:10: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:11: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: ...
aes-ni.c: aes-ni.c: In function 'AESNI_Key_Expansion4':
aes-ni.c: aes-ni.c:124: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:127: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:133: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c: In function 'AESNI_encrypt4':
aes-ni.c: aes-ni.c:146: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:147: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:148: error: incompatible types when assigning to type '__m128i' from type 'int'
aes-ni.c: aes-ni.c:149: error: incompatible types when assigning to type '__m128i' from type 'int'

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