Implementation notes: aarch64, pi3aplus, crypto_kem/ntruhrss701

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: ntruhrss701
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
269717121336 0 040118 832 1552compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011920240107
1220946912992 0 031830 832 1552refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231212
1462030712320 0 030639 904 1568compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
1619666213056 0 031399 904 1568refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
162789036344 0 023397 896 1552refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
166965185016 0 022085 896 1552compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
182701026548 0 023405 896 1552refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
191271644600 0 021565 896 1552compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
212512745996 0 021941 880 1536refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
217444994140 0 020181 880 1536compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107

Test failure

Implementation: T:neon
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_kem_dec does not match k

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
neon_poly_rq_mul.c: In file included from neon_poly_rq_mul.c:20:
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c: In function 'tc3_interpolate_neon_SB3':
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:108:25: warning: implicit declaration of function 'vst1q_u16_x2'; did you mean 'vld1q_u16_x2'? [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: #define vstore_x2(c, a) vst1q_u16_x2(c, a);
neon_poly_rq_mul.c: ^~~~~~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:385:9: note: in expansion of macro 'vstore_x2'
neon_poly_rq_mul.c: vstore_x2(&poly[addr + 0*SB3], r0);
neon_poly_rq_mul.c: ^~~~~~~~~
try.c: /usr/bin/ld: libcrypto_kem_ntruhrss701.a(neon_poly_rq_mul.o): in function `tc3_interpolate_neon_SB3':
try.c: neon_poly_rq_mul.c:(.text+0x...): undefined reference to `vst1q_u16_x2'
try.c: /usr/bin/ld: neon_poly_rq_mul.c:(.text+0x...): undefined reference to `vst1q_u16_x2'
try.c: /usr/bin/ld: neon_poly_rq_mul.c:(.text+0x...): undefined reference to `vst1q_u16_x2'
try.c: /usr/bin/ld: neon_poly_rq_mul.c:(.text+0x...): undefined reference to `vst1q_u16_x2'
try.c: /usr/bin/ld: neon_poly_rq_mul.c:(.text+0x...): undefined reference to `vst1q_u16_x2'
try.c: /usr/bin/ld: libcrypto_kem_ntruhrss701.a(neon_poly_rq_mul.o):neon_poly_rq_mul.c:(.text+0x...): more undefined references to `vst1q_u16_x2' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon