Implementation notes: aarch64, pi4b, crypto_kem/ntruhrss701
Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: ntruhrss701
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
342265 | 43640 0 0 | 87185 904 1568 | T:neon | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
352933 | 13824 0 0 | 55555 880 1568 | T:neon | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
355450 | 13284 0 0 | 53763 864 1552 | T:neon | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
383886 | 17952 0 0 | 60707 880 1584 | T:neon | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
383886 | 14256 0 0 | 55835 880 1568 | T:neon | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
1848340 | 21024 0 0 | 64531 912 1568 | compact | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
2559240 | 19132 0 0 | 61861 888 1584 | compact | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
4279618 | 13780 0 0 | 57299 912 1568 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
8061606 | 10580 0 0 | 53285 888 1584 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
8075824 | 7276 0 0 | 48957 888 1568 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
8289094 | 5384 0 0 | 47045 888 1568 | compact | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
14146910 | 4524 0 0 | 45061 872 1552 | compact | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
14274872 | 6836 0 0 | 47277 872 1552 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
16876766 | 7328 0 0 | 48771 880 1568 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
17118472 | 4916 0 0 | 46475 880 1568 | compact | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
Compiler output
owcpa.c: owcpa.c:56:40: warning: argument 3 of type 'const unsigned char[1400]' with mismatched bound [-Warray-parameter=]
owcpa.c: 56 | const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
owcpa.c: In file included from owcpa.c:10:
owcpa.c: owcpa.h:23:40: note: previously declared as 'const unsigned char[32]'
owcpa.c: 23 | const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c: In function 'crypto_kem_ntruhrss701_neon_timingleaks_owcpa_keypair':
owcpa.c: owcpa.c:66:3: warning: 'sample_fg' reading 1400 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: 66 | sample_fg(f,g,seed);
owcpa.c: | ^~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c:66:3: note: referencing argument 3 of type 'const unsigned char *'
owcpa.c: In file included from owcpa.c:11:
owcpa.c: sample.h:17:6: note: in a call to function 'sample_fg'
owcpa.c: 17 | void sample_fg(poly *f, poly *g, const unsigned char uniformbytes[NTRU_SAMPLE_FG_BYTES]);
owcpa.c: | ^~~~~~~~~
pack3.c: pack3.c:12:36: warning: argument 1 of type 'unsigned char[280]' with mismatched bound [-Warray-parameter=]
pack3.c: 12 | void poly_S3_tobytes(unsigned char msg[NTRU_OWCPA_MSGBYTES], const poly *a)
pack3.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:10:
pack3.c: poly.h:42:36: note: previously declared as 'unsigned char[140]'
pack3.c: 42 | void poly_S3_tobytes(unsigned char msg[NTRU_PACK_TRINARY_BYTES], const poly *a);
pack3.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: pack3.c:38:53: warning: argument 2 of type 'const unsigned char[280]' with mismatched bound [-Warray-parameter=]
pack3.c: 38 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_OWCPA_MSGBYTES])
pack3.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:10:
pack3.c: poly.h:43:53: note: previously declared as 'const unsigned char[140]'
pack3.c: 43 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:neon | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
owcpa.c: owcpa.c:44:40: warning: argument 3 of type 'const unsigned char[1400]' with mismatched bound [-Warray-parameter=]
owcpa.c: 44 | const unsigned char seed[NTRU_SAMPLE_FG_BYTES])
owcpa.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
owcpa.c: In file included from owcpa.c:1:
owcpa.c: owcpa.h:14:40: note: previously declared as 'const unsigned char[32]'
owcpa.c: 14 | const unsigned char seed[NTRU_SEEDBYTES]);
owcpa.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
owcpa.c: owcpa.c: In function 'crypto_kem_ntruhrss701_ref_constbranchindex_owcpa_keypair':
owcpa.c: <command-line>: warning: 'crypto_kem_ntruhrss701_ref_constbranchindex_sample_fg' reading 1400 bytes from a region of size 32 [-Wstringop-overread]
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:54:3: note: in expansion of macro 'sample_fg'
owcpa.c: 54 | sample_fg(f,g,seed);
owcpa.c: | ^~~~~~~~~
owcpa.c: <command-line>: note: referencing argument 3 of type 'const unsigned char *'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: owcpa.c:54:3: note: in expansion of macro 'sample_fg'
owcpa.c: 54 | sample_fg(f,g,seed);
owcpa.c: | ^~~~~~~~~
owcpa.c: <command-line>: note: in a call to function 'crypto_kem_ntruhrss701_ref_constbranchindex_sample_fg'
owcpa.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
owcpa.c: sample.h:10:6: note: in expansion of macro 'sample_fg'
owcpa.c: 10 | void sample_fg(poly *f, poly *g, const unsigned char uniformbytes[NTRU_SAMPLE_FG_BYTES]);
owcpa.c: | ^~~~~~~~~
pack3.c: pack3.c:3:36: warning: argument 1 of type 'unsigned char[280]' with mismatched bound [-Warray-parameter=]
pack3.c: 3 | void poly_S3_tobytes(unsigned char msg[NTRU_OWCPA_MSGBYTES], const poly *a)
pack3.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:32:36: note: previously declared as 'unsigned char[140]'
pack3.c: 32 | void poly_S3_tobytes(unsigned char msg[NTRU_PACK_TRINARY_BYTES], const poly *a);
pack3.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: pack3.c:19:53: warning: argument 2 of type 'const unsigned char[280]' with mismatched bound [-Warray-parameter=]
pack3.c: 19 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_OWCPA_MSGBYTES])
pack3.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pack3.c: In file included from pack3.c:1:
pack3.c: poly.h:33:53: note: previously declared as 'const unsigned char[140]'
pack3.c: 33 | void poly_S3_frombytes(poly *r, const unsigned char msg[NTRU_PACK_TRINARY_BYTES]);
pack3.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |