Implementation notes: amd64, hydra9, crypto_aead/aezv4

Computer: hydra9
Architecture: amd64
CPU ID: AuthenticAMD-00610f01-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: aezv4
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5143? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111020171020
5153? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017111020171020
5196? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111020171020
5204? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111020171020
5243? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111020171020
5261? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017111020171020
5345? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017111020171020
5592? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017111020171020
5901? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111020171020
5931? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017111020171020
5978? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017111020171020
5988? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111020171020
6005? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111020171020
6011? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111020171020
6032? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017111020171020
6225? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017111020171020
732597? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017090620170725
733870? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017090620170725
734589? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017090620170725
750291? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017090620170725
751128? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090620170725
761570? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017090620170725
761798? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017090620170725
776838? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090620170725
781744? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017090620170725
789129? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017090620170725
795849? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017090620170725
796442? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090620170725
796860? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017090620170725
802311? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017090620170725
803565? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017090620170725
803588? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017090620170725
803700? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017090620170725
806822? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017090620170725
806851? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090620170725
807167? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017090620170725
808830? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017090620170725
812958? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017090620170725
814058? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017090620170725
814064? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090620170725
817540? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017090620170725
819860? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017090620170725
820521? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017090620170725
822573? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017090620170725
822868? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017090620170725
827934? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017090620170725
828334? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017090620170725
828849? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017090620170725
830038? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090620170725
836605? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017090620170725
837322? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017090620170725
889727? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017090620170725
890574? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017090620170725
898396? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017090620170725
899610? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017090620170725
900389? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017090620170725
902916? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017090620170725
903070? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017090620170725
914339? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017090620170725
915278? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090620170725
1113761? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017090620170725
1118885? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017090620170725
1126320? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017090620170725
1128241? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017090620170725
1132912? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017090620170725
1133311? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017090620170725
1138836? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017090620170725
1140552? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017090620170725
1140810? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017090620170725
1140981? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017090620170725
1141478? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017090620170725
1142085? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017090620170725
1146831? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017090620170725
1147420? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017090620170725
1148930? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017090620170725
1163479? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017090620170725
1163961? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017090620170725
1167085? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017090620170725
1167599? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017090620170725
1168461? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017090620170725
1168949? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017090620170725
1170702? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017090620170725
1176519? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017090620170725
1177672? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017090620170725
1179866? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017090620170725
1180335? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017090620170725
1180979? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017090620170725
1181310? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017090620170725
1234929? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017090620170725
1236817? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017090620170725
1239070? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017090620170725
1240189? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017090620170725
1245395? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017090620170725
1255295? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017090620170725
1421485? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090620170725
1426593? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017090620170725
1427466? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017090620170725
1433132? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017090620170725
1440812? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017090620170725
1440969? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090620170725
1441755? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017090620170725
1444361? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017090620170725
1445284? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017090620170725
1445770? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017090620170725
1448848? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090620170725
1449551? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017090620170725
1467507? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017090620170725
1471328? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017090620170725
1471875? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017090620170725
1473871? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017090620170725
1491472? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017090620170725
1491931? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017090620170725
1496747? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017090620170725
1502390? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017090620170725
1517163? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017090620170725
1520360? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017090620170725
1522235? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017090620170725
1523507? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017090620170725
1527919? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017090620170725
1536662? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017090620170725
3441670? ? ?? ? ?refcc2017090620170725
3445043? ? ?? ? ?refgcc_-funroll-loops2017090620170725
3449008? ? ?? ? ?refgcc2017090620170725

Test failure

Implementation: crypto_aead/aezv4/ref
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref aesni
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref aesni
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref aesni

Compiler output

Implementation: crypto_aead/aezv4/aesni
Compiler: cc
encrypt.c: encrypt.c:182:2: error: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: ^
encrypt.c: encrypt.c:211:1: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:211:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:1: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:220:1: error: unknown type name 'block'
encrypt.c: block zero_set_byte(char val, unsigned idx) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'zero_set_byte':
encrypt.c: encrypt.c:221:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^
encrypt.c: encrypt.c:221:17: error: 'zero' undeclared (first use in this function)
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^
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=corei7 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -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=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/aezv4/aesni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:182:2: error: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: ^
encrypt.c: encrypt.c:211:1: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:211:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:1: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:220:1: error: unknown type name 'block'
encrypt.c: block zero_set_byte(char val, unsigned idx) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'zero_set_byte':
encrypt.c: encrypt.c:221:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^
encrypt.c: encrypt.c:221:17: error: 'zero' undeclared (first use in this function)
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^
encrypt.c: ...
encrypt.c: encrypt.c:182:2: error: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: ^
encrypt.c: encrypt.c:211:1: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:211:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:1: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:220:1: error: unknown type name 'block'
encrypt.c: block zero_set_byte(char val, unsigned idx) {
encrypt.c: ^
encrypt.c: encrypt.c: In function 'zero_set_byte':
encrypt.c: encrypt.c:221:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^
encrypt.c: encrypt.c:221:17: error: 'zero' undeclared (first use in this function)
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^
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