Implementation notes: amd64, gpu, crypto_aead/knot128v2

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: knot128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2731246826 127 024613 895 1160refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
2873886165 127 026245 895 872refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
3046966102 127 023125 895 1160refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082620190816
3077366197 127 022245 903 928refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082620190816
3080606165 127 024917 895 872refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082620190816
3121086165 127 026245 895 872refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
3126566165 127 026245 895 872refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082620190816
3166886088 127 021757 903 928refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
3250168472 127 025950 911 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082620190816
3274768385 127 025550 911 928refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
3302046826 127 024613 895 1160refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082620190816
3363766898 127 022326 911 928refgcc_-march=k8_-O3_-fomit-frame-pointer2019082620190816
3406686131 127 022085 903 928refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082620190816
3493166684 127 021550 911 928refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
3577606197 127 022245 903 928refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082620190816
3593446826 127 022054 911 928refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082620190816
3622086275 127 022373 903 928refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
3625208744 127 026934 911 928refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
3628365908 127 022157 903 928refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082620190816
3631288560 127 026646 911 928refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082620190816
3671206826 127 021958 911 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082620190816
3708366826 127 021998 911 928refgcc_-O3_-fomit-frame-pointer2019082620190816
3713803119 127 015877 903 928refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082620190816
3740926275 127 022373 903 928refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
3791805845 127 022029 903 928refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082620190816
3818966088 127 021757 903 928refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
3827246826 127 021838 911 928refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082620190816
3843446826 127 021998 911 928refgcc_-m64_-O3_-fomit-frame-pointer2019082620190816
3877323119 127 015901 903 928refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082620190816
3927923119 127 015901 903 928refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082620190816
3947286102 127 023125 895 1160refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082620190816
3950883119 127 015877 903 928refgcc_-O2_-fomit-frame-pointer2019082620190816
3957966131 127 022085 903 928refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082620190816
3966168472 127 025950 911 928refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082620190816
3974405995 127 022029 903 928refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
39844814052 254 022630 911 928refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
4005083119 127 015877 903 928refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082620190816
4011843119 127 015877 903 928refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082620190816
4027528385 127 025550 911 928refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
4031688560 127 026646 911 928refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082620190816
4054566826 127 021998 911 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082620190816
4099962889 127 015349 903 928refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
4101925908 127 022157 903 928refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082620190816
4111406684 127 021550 911 928refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082620190816
4127203015 127 015789 903 928refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082620190816
4134686084 127 022197 903 928refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082620190816
4150363255 127 016301 903 928refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
4151168744 127 026934 911 928refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
4157165845 127 022029 903 928refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082620190816
4185642889 127 015349 903 928refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082620190816
4186083119 127 015877 903 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082620190816
4224406197 127 022245 903 928refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082620190816
4242207026 127 022630 911 928refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082620190816
4250843119 127 015877 903 928refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082620190816
4262203015 127 015789 903 928refgcc_-march=k8_-O2_-fomit-frame-pointer2019082620190816
4304886882 127 021990 911 928refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082620190816
4324006882 127 022054 911 928refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082620190816
4329286826 127 022054 911 928refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082620190816
4333126826 127 022054 911 928refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082620190816
4424206882 127 022054 911 928refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082620190816
4439762927 127 015733 903 928refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082620190816
4461883119 127 015901 903 928refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082620190816
4478402929 127 015693 903 928refgcc_-march=nocona_-O_-fomit-frame-pointer2019082620190816
4496248472 127 025950 911 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082620190816
4519522924 127 015717 903 928refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082620190816
4521886898 127 022326 911 928refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082620190816
4534603119 127 015877 903 928refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082620190816
4622923119 127 015877 903 928refgcc_-m64_-O2_-fomit-frame-pointer2019082620190816
4623006510 254 016301 903 928refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082620190816
4644325908 127 022157 903 928refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082620190816
4673002929 127 015693 903 928refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082620190816
4683282924 127 015717 903 928refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082620190816
4699282924 127 015717 903 928refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082620190816
4754766084 127 022197 903 928refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082620190816
4796125995 127 022029 903 928refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
4796322924 127 015717 903 928refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082620190816
4797642912 127 015685 903 928refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
4826202924 127 015717 903 928refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082620190816
4863162907 127 015701 903 928refgcc_-march=k8_-O_-fomit-frame-pointer2019082620190816
4884482522 127 014305 887 896refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082620190816
4916162924 127 015717 903 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082620190816
4931882517 127 014305 887 896refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
4999962907 127 015701 903 928refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082620190816
5070562547 127 014361 887 896refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
5085322924 127 015717 903 928refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082620190816
5155722522 127 014305 887 896refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
5167842522 127 014305 887 896refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082620190816
5192362522 127 014305 887 896refgcc_-Os_-fomit-frame-pointer2019082620190816
5201725824 254 015685 903 928refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082620190816
5219042927 127 015733 903 928refgcc_-O_-fomit-frame-pointer2019082620190816
5280482522 127 014305 887 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082620190816
5309802924 127 015717 903 928refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082620190816
5326402517 127 014305 887 896refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
5339282522 127 014305 887 896refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082620190816
5395682522 127 014305 887 896refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082620190816
5395762552 127 014361 887 896refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082620190816
5423242522 127 014305 887 896refgcc_-m64_-Os_-fomit-frame-pointer2019082620190816
5424082552 127 014361 887 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082620190816
5446322547 127 014361 887 896refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082620190816
5459642522 127 014305 887 896refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082620190816
5539922552 127 014361 887 896refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
5549802552 127 014361 887 896refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082620190816
5625042522 127 014305 887 896refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082620190816
5812962522 127 014305 887 896refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082620190816
5832925044 254 014305 887 896refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
5846762522 127 014305 887 896refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082620190816
5863362552 127 014361 887 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082620190816
6023002522 127 014305 887 896refgcc_-march=k8_-Os_-fomit-frame-pointer2019082620190816
6032562522 127 014305 887 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082620190816
6045682552 127 014361 887 896refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082620190816
6100202927 127 015733 903 928refgcc_-m64_-O_-fomit-frame-pointer2019082620190816
6481602552 127 014361 887 896refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082620190816
14988285620 127 020118 895 888refcc2019082620190816
15787965620 127 020118 895 888refgcc_-funroll-loops2019082620190816
16112325620 127 020118 895 888refgcc2019082620190816

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:30:0: warning: "LITTLE_ENDIAN" redefined
encrypt.c: #define LITTLE_ENDIAN
encrypt.c:
encrypt.c: In file included from /usr/include/x86_64-linux-gnu/sys/types.h:194:0,
encrypt.c: from /usr/include/stdlib.h:394,
encrypt.c: from encrypt.c:4:
encrypt.c: /usr/include/endian.h:45:0: note: this is the location of the previous definition
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c:
encrypt.c: encrypt.c:42:0: warning: "EXT_BYTE32" redefined
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c:
encrypt.c: encrypt.c:33:0: note: this is the location of the previous definition
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c:
encrypt.c: encrypt.c:43:0: warning: "INS_BYTE32" redefined
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c:
encrypt.c: encrypt.c:34:0: note: this is the location of the previous definition
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c:
encrypt.c: encrypt.c:44:0: warning: "U32BIG" redefined
encrypt.c: #define U32BIG(x) \
encrypt.c:
encrypt.c: encrypt.c:35:0: note: this is the location of the previous definition
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
cc opt
gcc opt
gcc -O2 -fomit-frame-pointer opt
gcc -O3 -fomit-frame-pointer opt
gcc -O -fomit-frame-pointer opt
gcc -Os -fomit-frame-pointer opt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops opt
gcc -funroll-loops -O2 -fomit-frame-pointer opt
gcc -funroll-loops -O3 -fomit-frame-pointer opt
gcc -funroll-loops -O -fomit-frame-pointer opt
gcc -funroll-loops -Os -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer opt
gcc -m64 -O2 -fomit-frame-pointer opt
gcc -m64 -O3 -fomit-frame-pointer opt
gcc -m64 -O -fomit-frame-pointer opt
gcc -m64 -Os -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O -fomit-frame-pointer opt
gcc -m64 -march=corei7 -Os -fomit-frame-pointer opt
gcc -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer opt
gcc -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -march=barcelona -O2 -fomit-frame-pointer opt
gcc -march=barcelona -O3 -fomit-frame-pointer opt
gcc -march=barcelona -O -fomit-frame-pointer opt
gcc -march=barcelona -Os -fomit-frame-pointer opt
gcc -march=k8 -O2 -fomit-frame-pointer opt
gcc -march=k8 -O3 -fomit-frame-pointer opt
gcc -march=k8 -O -fomit-frame-pointer opt
gcc -march=k8 -Os -fomit-frame-pointer opt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt
gcc -march=nocona -O2 -fomit-frame-pointer opt
gcc -march=nocona -O3 -fomit-frame-pointer opt
gcc -march=nocona -O -fomit-frame-pointer opt
gcc -march=nocona -Os -fomit-frame-pointer opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:30:9: warning: 'LITTLE_ENDIAN' macro redefined [-Wmacro-redefined]
encrypt.c: #define LITTLE_ENDIAN
encrypt.c: ^
encrypt.c: /usr/include/endian.h:45:10: note: previous definition is here
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c: ^
encrypt.c: encrypt.c:42:9: warning: 'EXT_BYTE32' macro redefined [-Wmacro-redefined]
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c: ^
encrypt.c: encrypt.c:33:9: note: previous definition is here
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c: ^
encrypt.c: encrypt.c:43:9: warning: 'INS_BYTE32' macro redefined [-Wmacro-redefined]
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c: ^
encrypt.c: encrypt.c:34:9: note: previous definition is here
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c: ^
encrypt.c: encrypt.c:44:9: warning: 'U32BIG' macro redefined [-Wmacro-redefined]
encrypt.c: #define U32BIG(x) \
encrypt.c: ^
encrypt.c: encrypt.c:35:9: note: previous definition is here
encrypt.c: #define U32BIG(x) (x)
encrypt.c: ^
encrypt.c: encrypt.c:47:9: warning: 'EXT_BYTE64' macro redefined [-Wmacro-redefined]
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:30:0: warning: "LITTLE_ENDIAN" redefined
encrypt.c: #define LITTLE_ENDIAN
encrypt.c:
encrypt.c: In file included from /usr/include/x86_64-linux-gnu/sys/types.h:194:0,
encrypt.c: from /usr/include/stdlib.h:394,
encrypt.c: from encrypt.c:4:
encrypt.c: /usr/include/endian.h:45:0: note: this is the location of the previous definition
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c:
encrypt.c: encrypt.c:42:0: warning: "EXT_BYTE32" redefined
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c:
encrypt.c: encrypt.c:33:0: note: this is the location of the previous definition
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c:
encrypt.c: encrypt.c:43:0: warning: "INS_BYTE32" redefined
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c:
encrypt.c: encrypt.c:34:0: note: this is the location of the previous definition
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c:
encrypt.c: encrypt.c:44:0: warning: "U32BIG" redefined
encrypt.c: #define U32BIG(x) \
encrypt.c:
encrypt.c: encrypt.c:35:0: note: this is the location of the previous definition
encrypt.c: ...
encrypt.c: encrypt.c:30:0: warning: "LITTLE_ENDIAN" redefined
encrypt.c: #define LITTLE_ENDIAN
encrypt.c:
encrypt.c: In file included from /usr/include/x86_64-linux-gnu/sys/types.h:194:0,
encrypt.c: from /usr/include/stdlib.h:394,
encrypt.c: from encrypt.c:4:
encrypt.c: /usr/include/endian.h:45:0: note: this is the location of the previous definition
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c:
encrypt.c: encrypt.c:42:0: warning: "EXT_BYTE32" redefined
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c:
encrypt.c: encrypt.c:33:0: note: this is the location of the previous definition
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c:
encrypt.c: encrypt.c:43:0: warning: "INS_BYTE32" redefined
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c:
encrypt.c: encrypt.c:34:0: note: this is the location of the previous definition
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c:
encrypt.c: encrypt.c:44:0: warning: "U32BIG" redefined
encrypt.c: #define U32BIG(x) \
encrypt.c:
encrypt.c: encrypt.c:35:0: note: this is the location of the previous definition
encrypt.c: ...

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