Implementation notes: amd64, enigma, crypto_aead/aesjambuv1

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: aesjambuv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
180630refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060220140529
180639refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060220140529
180747refgcc -march=nocona -O3 -fomit-frame-pointer2014060220140529
180801refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060220140529
180837refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060220140529
180873refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060220140529
181098refgcc -march=nocona -O2 -fomit-frame-pointer2014060220140529
181179refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060220140529
182619refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060220140529
182637refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060220140529
182655refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060220140529
182664refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060220140529
182691refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
182691refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060220140529
182700refgcc -funroll-loops -O2 -fomit-frame-pointer2014060220140529
182718refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060220140529
182736refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060220140529
182754refgcc -funroll-loops -O3 -fomit-frame-pointer2014060220140529
182754refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060220140529
182754refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060220140529
182754refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060220140529
182781refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
183456refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
183510refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060220140529
183519refgcc -march=k8 -O2 -fomit-frame-pointer2014060220140529
183546refgcc -O3 -fomit-frame-pointer2014060220140529
183546refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
183546refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
183564refgcc -m64 -O2 -fomit-frame-pointer2014060220140529
183564refgcc -march=barcelona -O2 -fomit-frame-pointer2014060220140529
183591refgcc -march=k8 -O3 -fomit-frame-pointer2014060220140529
183609refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060220140529
183618refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
183636refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060220140529
183654refgcc -O2 -fomit-frame-pointer2014060220140529
183672refgcc -march=barcelona -O3 -fomit-frame-pointer2014060220140529
183699refgcc -m64 -O3 -fomit-frame-pointer2014060220140529
183870refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060220140529
183915refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060220140529
183978refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060220140529
184041refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060220140529
184077refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060220140529
184194refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060220140529
184293refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060220140529
184392refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060220140529
184545refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060220140529
189252refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060220140529
189324refgcc -march=nocona -Os -fomit-frame-pointer2014060220140529
189540refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060220140529
189558refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060220140529
189630refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060220140529
189720refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060220140529
189747refgcc -funroll-loops -Os -fomit-frame-pointer2014060220140529
189774refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
189801refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060220140529
189828refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060220140529
189936refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060220140529
192042refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060220140529
192060refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060220140529
192060refgcc -march=k8 -Os -fomit-frame-pointer2014060220140529
192348refgcc -Os -fomit-frame-pointer2014060220140529
192474refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
192492refgcc -march=barcelona -Os -fomit-frame-pointer2014060220140529
192510refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060220140529
192591refgcc -m64 -Os -fomit-frame-pointer2014060220140529
192618refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060220140529
192618refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060220140529
192636refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060220140529
192654refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
205857refgcc -march=barcelona -O -fomit-frame-pointer2014060220140529
205857refgcc -march=k8 -O -fomit-frame-pointer2014060220140529
205884refgcc -m64 -O -fomit-frame-pointer2014060220140529
205911refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
205929refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060220140529
205947refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
205983refgcc -O -fomit-frame-pointer2014060220140529
205992refgcc -march=nocona -O -fomit-frame-pointer2014060220140529
206028refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060220140529
206190refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060220140529
206208refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060220140529
206217refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060220140529
206262refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060220140529
206298refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060220140529
206343refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060220140529
206370refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060220140529
206442refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060220140529
206523refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060220140529
206568refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060220140529
206640refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
206784refgcc -funroll-loops -O -fomit-frame-pointer2014060220140529
206865refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060220140529
207081refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060220140529
387072refgcc2014060220140529
387360refcc2014060220140529
387378refgcc -funroll-loops2014060220140529

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: cc
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: encrypt.c:38: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:41: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:49: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:51: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:53: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:55: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...
encrypt.c: encrypt.c:362: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:363: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:364: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:365: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:366: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'

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/aesjambuv1/aesni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: encrypt.c:38: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:41: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:49: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:51: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:53: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:55: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...
encrypt.c: encrypt.c:362: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:363: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:364: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:365: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:366: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: encrypt.c:38: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:41: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:43: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:45: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:47: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:49: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:51: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:53: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: encrypt.c:55: error: incompatible types when assigning to type '__m128i' from type 'int'
encrypt.c: ...
encrypt.c: encrypt.c:362: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:363: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:364: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:365: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'
encrypt.c: encrypt.c:366: error: incompatible type for argument 2 of 'aes128_keyexpand'
encrypt.c: encrypt.c:23: note: expected '__m128i' but argument is of type 'int'

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