Implementation notes: amd64, glyme, crypto_aead/aezv4

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: aezv4
TimeImplementationCompilerBenchmark dateSUPERCOP version
7088aesniclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020320170105
7088aesniclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
7204aesnigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020320170105
7204aesnigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020320170105
7296aesnigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020320170105
7296aesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020320170105
7896aesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020320170105
7900aesnigcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020320170105
8580aesnigcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020320170105
8580aesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020320170105
781404refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
783908refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020320170105
789924refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
789948refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
791088refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020320170105
792316refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
945272refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020320170105
946492refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020320170105
951724refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020320170105
959092refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020320170105
959812refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020320170105
963236refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020320170105
963460refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020320170105
964980refgcc -funroll-loops -O2 -fomit-frame-pointer2017020320170105
968132refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020320170105
1005664refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020320170105
1021208refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020320170105
1023700refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020320170105
1024028refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020320170105
1025004refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020320170105
1029144refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020320170105
1030712refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020320170105
1038892refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020320170105
1039004refgcc -funroll-loops -O -fomit-frame-pointer2017020320170105
1040452refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020320170105
1040924refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020320170105
1041600refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020320170105
1042268refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020320170105
1043636refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020320170105
1043848refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020320170105
1044672refgcc -m64 -O3 -fomit-frame-pointer2017020320170105
1044716refgcc -O3 -fomit-frame-pointer2017020320170105
1045256refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020320170105
1046780refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020320170105
1048916refgcc -march=nocona -O3 -fomit-frame-pointer2017020320170105
1049388refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020320170105
1050516refgcc -march=barcelona -O3 -fomit-frame-pointer2017020320170105
1051132refgcc -march=k8 -O3 -fomit-frame-pointer2017020320170105
1054368refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020320170105
1055100refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020320170105
1055324refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020320170105
1055392refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020320170105
1058416refgcc -funroll-loops -O3 -fomit-frame-pointer2017020320170105
1058868refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020320170105
1070008refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020320170105
1070300refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020320170105
1072924refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020320170105
1075092refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020320170105
1107888refgcc -march=k8 -O2 -fomit-frame-pointer2017020320170105
1108704refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020320170105
1127676refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020320170105
1131484refgcc -march=barcelona -O2 -fomit-frame-pointer2017020320170105
1137132refgcc -march=barcelona -O -fomit-frame-pointer2017020320170105
1137404refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020320170105
1140812refgcc -march=nocona -O2 -fomit-frame-pointer2017020320170105
1145884refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020320170105
1146136refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020320170105
1154888refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020320170105
1155084refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020320170105
1157728refgcc -m64 -O -fomit-frame-pointer2017020320170105
1157752refgcc -O -fomit-frame-pointer2017020320170105
1205116refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020320170105
1207868refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020320170105
1208252refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020320170105
1209256refgcc -m64 -O2 -fomit-frame-pointer2017020320170105
1209556refgcc -O2 -fomit-frame-pointer2017020320170105
1210020refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020320170105
1210600refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020320170105
1217820refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020320170105
1224728refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020320170105
1228300refgcc -march=nocona -O -fomit-frame-pointer2017020320170105
1229324refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020320170105
1231344refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020320170105
1231904refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020320170105
1235600refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020320170105
1237320refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020320170105
1238228refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020320170105
1239204refgcc -march=k8 -O -fomit-frame-pointer2017020320170105
1367608refgcc -march=nocona -Os -fomit-frame-pointer2017020320170105
1377916refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020320170105
1377980refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020320170105
1384580refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020320170105
1384624refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020320170105
1389916refgcc -march=k8 -Os -fomit-frame-pointer2017020320170105
1394872refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020320170105
1397972refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020320170105
1398316refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020320170105
1398328refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020320170105
1398368refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020320170105
1400544refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020320170105
1403564refgcc -march=barcelona -Os -fomit-frame-pointer2017020320170105
1403956refgcc -m64 -Os -fomit-frame-pointer2017020320170105
1405200refgcc -Os -fomit-frame-pointer2017020320170105
1406392refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020320170105
1407080refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020320170105
1409608refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020320170105
1412392refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020320170105
1413232refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020320170105
1414128refgcc -funroll-loops -Os -fomit-frame-pointer2017020320170105
1414260refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020320170105
1416952refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020320170105
1427236refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020320170105
4928032refcc2017020320170105
4941336refgcc2017020320170105
4942164refgcc -funroll-loops2017020320170105

Compiler output

Implementation: crypto_aead/aezv4/aesni
Compiler: cc
encrypt.c: encrypt.c:181:2: 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:210:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:210:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:211:12: warning: implicit declaration of function 'vand' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: return vand(x, loadu(pad + zero_bytes));
encrypt.c: ^
encrypt.c: encrypt.c:211:20: warning: implicit declaration of function 'loadu' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: return vand(x, loadu(pad + zero_bytes));
encrypt.c: ^
encrypt.c: encrypt.c:214:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:214: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:215:5: error: use of undeclared identifier 'block'
encrypt.c: block *p = (block*)(pad + one_zero_bytes);
encrypt.c: ^
encrypt.c: encrypt.c:215:12: error: use of undeclared identifier 'p'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
cc aesni
clang -O3 -fomit-frame-pointer -Qunused-arguments aesni
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni

Compiler output

Implementation: crypto_aead/aezv4/aesni
Compiler: gcc
encrypt.c: encrypt.c:181: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:210:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:210:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:214:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:214: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:219: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:220:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^~~~~
encrypt.c: encrypt.c:220: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: 86, namely:
CompilerImplementations
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:181: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:210:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:210:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:214:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:214: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:219: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:220:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^~~~~
encrypt.c: encrypt.c:220: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:181: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:210:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:210:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:214:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:214: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:219: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:220:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^~~~~
encrypt.c: encrypt.c:220: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