Implementation notes: aarch64, pi3aplus, crypto_kem/ntruhps2048677

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240425
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
286799721720 0 041702 832 1552T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024050420240425
290210321720 0 041030 832 1552compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024050420240425
1143120012880 0 032918 832 1552T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024050420240425
1162923812880 0 032246 832 1552refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024050420240425
1407435010196 0 029719 904 1568T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
1415392210196 0 029047 904 1568compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
152299099996 0 028879 904 1568refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
152627149996 0 029551 904 1568T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
153732796168 0 024429 896 1552T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
154082206168 0 023757 896 1552refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
158838324484 0 022061 896 1552compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
159367644484 0 022733 896 1552T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
171905196452 0 024517 896 1552T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
172112866452 0 023845 896 1552refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
187264044652 0 022821 896 1552T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
187658704652 0 022149 896 1552compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
198449335812 0 022965 880 1536T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
199424675812 0 022293 880 1536refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
205508964020 0 021253 880 1536T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425
208490344020 0 020581 880 1536compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024050420240425

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