Implementation notes: amd64, gemini, crypto_encrypt/mceliece
Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_encrypt
Primitive: mceliece
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
934787 | 23385 128 8492 | 52416 972 10264 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
940185 | 26624 128 8492 | 54240 972 10264 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
972680 | 13886 128 8492 | 39254 964 10264 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
977668 | 19729 128 8492 | 46416 972 10264 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
1079815 | 21889 128 8528 | 49040 940 10392 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
1092452 | 17034 128 8528 | 43080 940 10392 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
1182164 | 13957 128 8492 | 38766 964 10264 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
1189487 | 11655 128 8528 | 36128 932 10360 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
1200403 | 14231 128 8528 | 39784 940 10392 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240625 |
Compiler output
misc.c: misc.c:6:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
misc.c: int u8rnd() { char c; randombytes(&c,1); return 255 & (int) c; }
misc.c: ^~
misc.c: .../supercop-data/gemini/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
misc.c: extern void randombytes(unsigned char *,unsigned long long);
misc.c: ^
misc.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
misc.c: misc.c: In function 'u8rnd':
misc.c: misc.c:6:35: warning: pointer targets in passing argument 1 of 'randombytes' differ in signedness [-Wpointer-sign]
misc.c: 6 | int u8rnd() { char c; randombytes(&c,1); return 255 & (int) c; }
misc.c: | ^~
misc.c: | |
misc.c: | char *
misc.c: In file included from misc.c:3:
misc.c: .../supercop-data/gemini/amd64/include/randombytes.h:8:25: note: expected 'unsigned char *' but argument is of type 'char *'
misc.c: 8 | extern void randombytes(unsigned char *,unsigned long long);
misc.c: | ^~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |