Implementation notes: amd64, skylake, crypto_aead/aezv4

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aezv4
TimeImplementationCompilerBenchmark dateSUPERCOP version
3036aesnigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
3038aesnigcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
3040aesnigcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
3042aesnigcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
3044aesnigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
3058aesniclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
3058aesniclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
3060aesniclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
3068aesnigcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
3070aesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
3074aesnigcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
3074aesnigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
3076aesniclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
3076aesnigcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
3328aesnigcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
3330aesnigcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
3334aesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
3342aesnigcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
3346aesnigcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
3546aesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
3548aesnigcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
3562aesnigcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
3580aesnigcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
3598aesnigcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
470090refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
470730refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
472282refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
472312refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
472342refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
476166refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
476632refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
512114refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
512462refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
538546refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
539068refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
539352refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
539396refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
539430refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
540912refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
542016refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
548246refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
553386refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
583956refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
594396refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
594956refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
596438refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
596692refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
597432refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
598388refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
599034refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
599730refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
602322refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
602550refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
603058refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
607714refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
608042refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
610046refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
611052refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
611876refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
612006refgcc -O3 -fomit-frame-pointer2016121620161026
612170refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
613068refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
614710refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
614880refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
615014refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
615144refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
615242refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
615620refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
615658refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
616736refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
616906refgcc -m64 -O -fomit-frame-pointer2016121620161026
617230refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
617828refgcc -O2 -fomit-frame-pointer2016121620161026
617914refgcc -O -fomit-frame-pointer2016121620161026
618036refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
618226refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
618958refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
620310refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
620330refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
620408refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
620602refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
620608refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
620782refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
621660refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
621680refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
623404refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
624634refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
626166refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
627382refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
629428refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
630108refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
630764refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
632436refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
632786refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
633536refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
635500refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
636888refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
639766refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
652856refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
658530refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
661364refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
662506refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
664304refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
664404refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
665196refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
666278refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
666606refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
666962refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
668192refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
668904refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
669362refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
670004refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
670192refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
674108refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
674608refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
852530refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
852590refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
853402refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
853410refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
856164refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
863994refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
864668refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
865058refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
866384refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
883180refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
887276refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
896622refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
902986refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
935244refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
939386refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
944874refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
984470refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
987722refgcc -Os -fomit-frame-pointer2016121620161026
989522refgcc -m64 -Os -fomit-frame-pointer2016121620161026
990068refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
990582refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
990874refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
992060refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
992246refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
993400refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
997290refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
997988refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
2495294refcc2016121620161026
2505558refgcc2016121620161026
2518690refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/aezv4/aesni
Compiler: cc
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: 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: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments aesni
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments aesni
clang -O3 -fwrapv -mavx -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 -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