Implementation notes: armeabi, tinker, crypto_kem/ntruhps2048677

Computer: tinker
Microarchitecture: armeabi; Cortex-A17 (410fc0d1)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
241563216388 0 032081 436 1536T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
245847316388 0 042193 436 1536compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
74766768948 0 026595 456 1536T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
75227058948 0 036707 456 1536compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
76973265324 0 022767 456 1536T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
77396925324 0 032879 456 1536refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
95108757416 0 023109 436 1536T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
95428144720 0 019685 436 1536T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
95551867416 0 033221 436 1536refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
95873664720 0 029797 436 1536refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
100475373824 0 018781 436 1536T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
100902873824 0 028893 436 1536compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
142086603552 0 016673 428 1528T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
142540163552 0 026785 428 1528refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
146575252762 0 015889 428 1528T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
146996382762 0 026001 428 1528compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
168545364378 0 019099 432 1528T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
168976304378 0 029211 432 1528refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
176335563590 0 018315 432 1528T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
176761423590 0 028427 432 1528compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107

Compiler output

Implementation: compact
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/arm-linux-gnueabihf-ld: warning: crypto_stream_chacha20_moon_neon_32_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/arm-linux-gnueabihf-ld: warning: crypto_stream_chacha20_moon_neon_32_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/arm-linux-gnueabihf-ld: warning: crypto_stream_chacha20_moon_neon_32_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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

Compiler output

Implementation: compact
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_neon_32_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_neon_32_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_neon_32_constbranchindex-chacha.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref T:ref

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
neon_poly_mod.c: In file included from neon_poly_mod.c:20:
neon_poly_mod.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/arm_neon.h:32:2: error: "NEON support not enabled"
neon_poly_mod.c: #error "NEON support not enabled"
neon_poly_mod.c: ^
neon_poly_mod.c: neon_poly_mod.c:167:5: error: unknown type name 'uint16x8_t'; did you mean 'uint16_t'?
neon_poly_mod.c: uint16x8_t last, hex_0xff, hex_0x0f, hex_0x03;
neon_poly_mod.c: ^~~~~~~~~~
neon_poly_mod.c: uint16_t
neon_poly_mod.c: /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h:25:20: note: 'uint16_t' declared here
neon_poly_mod.c: typedef __uint16_t uint16_t;
neon_poly_mod.c: ^
neon_poly_mod.c: neon_poly_mod.c:169:5: warning: implicit declaration of function 'vdupq_n_u16' is invalid in C99 [-Wimplicit-function-declaration]
neon_poly_mod.c: poly_vdup_x1(last, r->coeffs[NTRU_N - 1]);
neon_poly_mod.c: ^
neon_poly_mod.c: neon_poly_mod.c:33:36: note: expanded from macro 'poly_vdup_x1'
neon_poly_mod.c: #define poly_vdup_x1(c, value) c = vdupq_n_u16(value);
neon_poly_mod.c: ^
neon_poly_mod.c: neon_poly_mod.c:171:5: warning: implicit declaration of function 'vshlq_n_u16' is invalid in C99 [-Wimplicit-function-declaration]
neon_poly_mod.c: poly_vsl_x1(last, last, 1);
neon_poly_mod.c: ^
neon_poly_mod.c: neon_poly_mod.c:30:38: note: expanded from macro 'poly_vsl_x1'
neon_poly_mod.c: #define poly_vsl_x1(c, a, value) c = vshlq_n_u16(a, value);
neon_poly_mod.c: ^
neon_poly_mod.c: neon_poly_mod.c:178:17: error: expected ';' after expression
neon_poly_mod.c: uint16x8x4_t r0, r1, r2, r3;
neon_poly_mod.c: ...

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 rq_mul/neon_poly_rq_mul.c:24,
neon_poly_rq_mul.c: from neon_poly_rq_mul.c:20:
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c: In function ‘half_transpose_8x16’:
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:64:11: warning: implicit declaration of function ‘vtrn1q_u16’; did you mean ‘vtrnq_u16’? [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: 64 | y16 = vtrn1q_u16(y0, y1);
neon_poly_rq_mul.c: | ^~~~~~~~~~
neon_poly_rq_mul.c: | vtrnq_u16
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:64:11: error: incompatible types when assigning to type ‘uint16x8_t’ from type ‘int’
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:65:11: warning: implicit declaration of function ‘vtrn2q_u16’; did you mean ‘vtrnq_u16’? [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: 65 | y17 = vtrn2q_u16(y0, y1);
neon_poly_rq_mul.c: | ^~~~~~~~~~
neon_poly_rq_mul.c: | vtrnq_u16
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:65:11: error: incompatible types when assigning to type ‘uint16x8_t’ from type ‘int’
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:66:11: error: incompatible types when assigning to type ‘uint16x8_t’ from type ‘int’
neon_poly_rq_mul.c: 66 | y18 = vtrn1q_u16(y2, y3);
neon_poly_rq_mul.c: | ^~~~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:67:11: error: incompatible types when assigning to type ‘uint16x8_t’ from type ‘int’
neon_poly_rq_mul.c: 67 | y19 = vtrn2q_u16(y2, y3);
neon_poly_rq_mul.c: | ^~~~~~~~~~
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:68:23: warning: implicit declaration of function ‘vtrn1q_u32’; did you mean ‘vtrnq_u32’? [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: 68 | y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
neon_poly_rq_mul.c: | ^~~~~~~~~~
neon_poly_rq_mul.c: | vtrnq_u32
neon_poly_rq_mul.c: rq_mul/neon_matrix_transpose.c:68:5: error: cannot convert a value of type ‘int’ to vector type ‘__simd128_uint16_t’ which has different size
neon_poly_rq_mul.c: 68 | y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
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