Implementation notes: amd64, speed2supercop, crypto_aead/knot128v2

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: knot128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1117607035 127 022701 887 928T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1121525114 127 022582 927 872T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1129204232 127 021502 927 872T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1137924054 127 018159 919 920T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1138644200 127 017478 927 856T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1138964784 127 018461 887 928T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1143884655 127 020694 927 856T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1213286341 127 019716 879 928T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1224204200 127 016368 863 896T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1338163233 127 020734 927 872T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1339843661 127 020974 927 872T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1379723247 127 019326 927 856T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1449362866 127 016935 919 920T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1553888270 127 023989 887 928T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1618762988 127 016701 887 928T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1801602880 127 016198 927 856T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2029842717 127 016132 879 928T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
2055722151 127 014360 863 896T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625

Compiler output


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:27: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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


encrypt.c: encrypt.c:30: warning: "LITTLE_ENDIAN" redefined
encrypt.c:    30 | #define LITTLE_ENDIAN
encrypt.c:       |
encrypt.c: In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176,
encrypt.c:                  from /usr/include/stdlib.h:514,
encrypt.c:                  from encrypt.c:4:
encrypt.c: /usr/include/endian.h:27: note: this is the location of the previous definition
encrypt.c:    27 | # define LITTLE_ENDIAN  __LITTLE_ENDIAN
encrypt.c:       |
encrypt.c: encrypt.c:42: warning: "EXT_BYTE32" redefined
encrypt.c:    42 | #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c:       |
encrypt.c: encrypt.c:33: note: this is the location of the previous definition
encrypt.c:    33 | #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c:       |
encrypt.c: encrypt.c:43: warning: "INS_BYTE32" redefined
encrypt.c:    43 | #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c:       |
encrypt.c: encrypt.c:34: note: this is the location of the previous definition
encrypt.c:    34 | #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c:       |
encrypt.c: encrypt.c:44: warning: "U32BIG" redefined
encrypt.c:    44 | #define U32BIG(x) \
encrypt.c:       |
encrypt.c: encrypt.c:35: note: this is the location of the previous definition
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Compiler output


encrypt.c: encrypt.c:116:6: warning: unused variable 'capacity' [-Wunused-variable]
encrypt.c:         u32 capacity = size - rate; //24
encrypt.c:             ^
encrypt.c: encrypt.c:205:6: warning: unused variable 'capacity' [-Wunused-variable]
encrypt.c:         u32 capacity = size - rate; //24
encrypt.c:             ^
encrypt.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_knot128v2_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:116:13: warning: unused variable 'capacity' [-Wunused-variable]
encrypt.c:   116 |         u32 capacity = size - rate; //24
encrypt.c:       |             ^~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_knot128v2_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:205:13: warning: unused variable 'capacity' [-Wunused-variable]
encrypt.c:   205 |         u32 capacity = size - rate; //24
encrypt.c:       |             ^~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)