Implementation notes: amd64, jos, crypto_aead/aegis256

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: aegis256
TimeImplementationCompilerBenchmark dateSUPERCOP version
109853refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014070420140622
110040refgcc -march=nocona -Os -fomit-frame-pointer2014070420140622
110228refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014070420140622
110295refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014070420140622
110303refgcc -Os -fomit-frame-pointer2014070420140622
110310refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014070420140622
110310refgcc -march=barcelona -Os -fomit-frame-pointer2014070420140622
110318refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014070420140622
110333refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014070420140622
110355refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014070420140622
110370refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014070420140622
110370refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014070420140622
110385refgcc -march=k8 -Os -fomit-frame-pointer2014070420140622
110393refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014070420140622
110468refgcc -funroll-loops -Os -fomit-frame-pointer2014070420140622
110490refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014070420140622
110497refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014070420140622
110520refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014070420140622
110820refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014070420140622
110858refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014070420140622
110888refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014070420140622
111045refgcc -m64 -Os -fomit-frame-pointer2014070420140622
114195refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014070420140622
114285refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014070420140622
114300refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014070420140622
114315refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014070420140622
114353refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014070420140622
114360refgcc -O2 -fomit-frame-pointer2014070420140622
114360refgcc -funroll-loops -O3 -fomit-frame-pointer2014070420140622
114367refgcc -O3 -fomit-frame-pointer2014070420140622
114375refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014070420140622
114383refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014070420140622
114450refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014070420140622
114517refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014070420140622
114518refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014070420140622
114525refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014070420140622
114555refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014070420140622
114563refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014070420140622
114578refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014070420140622
114578refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014070420140622
114592refgcc -funroll-loops -O2 -fomit-frame-pointer2014070420140622
114608refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014070420140622
114615refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014070420140622
114668refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014070420140622
114698refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014070420140622
114720refgcc -m64 -O3 -fomit-frame-pointer2014070420140622
114727refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014070420140622
114810refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014070420140622
114818refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014070420140622
114818refgcc -m64 -O2 -fomit-frame-pointer2014070420140622
114818refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014070420140622
114847refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014070420140622
114863refgcc -march=barcelona -O3 -fomit-frame-pointer2014070420140622
114863refgcc -march=k8 -O2 -fomit-frame-pointer2014070420140622
114870refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014070420140622
114915refgcc -march=k8 -O3 -fomit-frame-pointer2014070420140622
114938refgcc -march=barcelona -O2 -fomit-frame-pointer2014070420140622
114975refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014070420140622
114990refgcc -march=nocona -O3 -fomit-frame-pointer2014070420140622
115012refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014070420140622
115020refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014070420140622
115117refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014070420140622
115305refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014070420140622
115342refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014070420140622
115425refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014070420140622
115440refgcc -m64 -march=core2 -O -fomit-frame-pointer2014070420140622
115448refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014070420140622
115567refgcc -march=nocona -O2 -fomit-frame-pointer2014070420140622
115590refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014070420140622
115740refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014070420140622
116640refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014070420140622
116655refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014070420140622
116663refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014070420140622
116670refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014070420140622
116670refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014070420140622
116715refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014070420140622
116745refgcc -fno-schedule-insns -O -fomit-frame-pointer2014070420140622
116888refgcc -march=k8 -O -fomit-frame-pointer2014070420140622
116963refgcc -funroll-loops -O -fomit-frame-pointer2014070420140622
116977refgcc -O -fomit-frame-pointer2014070420140622
116977refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014070420140622
116985refgcc -m64 -march=nocona -O -fomit-frame-pointer2014070420140622
116992refgcc -m64 -O -fomit-frame-pointer2014070420140622
117000refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014070420140622
117053refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014070420140622
117053refgcc -m64 -march=k8 -O -fomit-frame-pointer2014070420140622
117075refgcc -march=nocona -O -fomit-frame-pointer2014070420140622
117390refgcc -march=barcelona -O -fomit-frame-pointer2014070420140622
233648refgcc -funroll-loops2014070420140622
234000refcc2014070420140622
234930refgcc2014070420140622

Compiler output

Implementation: crypto_aead/aegis256/aesni
Compiler: cc
encrypt.c: In file included from encrypt.c:5:0:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.c: encrypt.c: In function 'aegis256_initialization':
encrypt.c: encrypt.c:42:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:44:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:46:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:56:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:57:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:58:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:59:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:60:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:61:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis256_tag_generation':
encrypt.c: encrypt.c:88:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:89:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:90:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:91:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:92:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:93:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis256_enc_aut_step':
encrypt.c: encrypt.c:127:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:128:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aegis256/aesni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c:5:0:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.c: encrypt.c: In function 'aegis256_initialization':
encrypt.c: encrypt.c:42:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:44:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:46:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:56:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:57:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:58:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:59:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:60:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:61:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis256_tag_generation':
encrypt.c: encrypt.c:88:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:89:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:90:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:91:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:92:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:93:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis256_enc_aut_step':
encrypt.c: encrypt.c:127:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:128:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...
encrypt.c: In file included from encrypt.c:5:0:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.c: encrypt.c: In function 'aegis256_initialization':
encrypt.c: encrypt.c:42:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:44:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:46:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:56:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:57:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:58:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:59:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:60:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:61:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis256_tag_generation':
encrypt.c: encrypt.c:88:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:89:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:90:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:91:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:92:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:93:23: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c: In function 'aegis256_enc_aut_step':
encrypt.c: encrypt.c:127:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:128:18: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...

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