Implementation notes: aarch64, pi3aplus, crypto_kem/ntruhps2048677

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
278083321720 0 041814 832 1552T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011920240107
287780121720 0 041126 832 1552compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011920240107
1141118912880 0 033030 832 1552T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231212
1149975812880 0 032342 832 1552refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231212
1385313610196 0 029831 904 1568T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
1395290410196 0 029143 904 1568compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
151225479996 0 029663 904 1568T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
151825656168 0 024541 896 1552T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
152192719996 0 028975 904 1568refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
152817166168 0 023853 896 1552refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
157853384484 0 022845 896 1552T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
158813954484 0 022157 896 1552compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
170345696452 0 024629 896 1552T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
171408346452 0 023941 896 1552refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
184432264652 0 022933 896 1552T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
185438054652 0 022245 896 1552compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
198278265812 0 023077 880 1536T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
199280005812 0 022389 880 1536refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231212
205463084020 0 021365 880 1536T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107
206393714020 0 020677 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 'karat_neon_evaluate_combine':
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:136: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:226:9: note: in expansion of macro 'vstore_x2'
neon_poly_rq_mul.c: vstore_x2(&w0_mem[addr], r0);
neon_poly_rq_mul.c: ^~~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c: In function 'poly_neon_reduction':
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:185:28: warning: implicit declaration of function 'vld1q_u16_x3'; did you mean 'vld1q_u16_x2'? [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: #define vload_x3(c, a) c = vld1q_u16_x3(a);
neon_poly_rq_mul.c: ^~~~~~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:687:9: note: in expansion of macro 'vload_x3'
neon_poly_rq_mul.c: vload_x3(tmp2, &tmp[addr]);
neon_poly_rq_mul.c: ^~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:185:26: error: incompatible types when assigning to type 'uint16x8x3_t' {aka 'struct uint16x8x3_t'} from type 'int'
neon_poly_rq_mul.c: #define vload_x3(c, a) c = vld1q_u16_x3(a);
neon_poly_rq_mul.c: ^
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:687:9: note: in expansion of macro 'vload_x3'
neon_poly_rq_mul.c: vload_x3(tmp2, &tmp[addr]);
neon_poly_rq_mul.c: ^~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:185:26: error: incompatible types when assigning to type 'uint16x8x3_t' {aka 'struct uint16x8x3_t'} from type 'int'
neon_poly_rq_mul.c: #define vload_x3(c, a) c = vld1q_u16_x3(a);
neon_poly_rq_mul.c: ^
neon_poly_rq_mul.c: rq_mul/neon_poly_rq_mul.c:688:9: note: in expansion of macro 'vload_x3'
neon_poly_rq_mul.c: ...

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

Namespace violations

Implementation: compact
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.o sample_fixed_type T

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE compact T:compact
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE compact T:compact
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE compact T:compact
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE compact T:compact
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE compact T:compact