Implementation notes: armeabi, tinker, crypto_kem/ntruhps2048509

Computer: tinker
Microarchitecture: armeabi; Cortex-A17 (410fc0d1)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: ntruhps2048509
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
157239316856 0 032357 436 1536T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
160349816856 0 042469 436 1536compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
44247445404 0 022847 456 1536T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
44291249036 0 026683 456 1536T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
44522695404 0 032959 456 1536refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
44573619036 0 036795 456 1536compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020720240107
54442927664 0 023169 436 1536T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
54668674712 0 019477 436 1536T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
54731667664 0 033281 436 1536refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
54939624712 0 029589 436 1536refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
58426263848 0 018613 436 1536T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
58695263848 0 028725 436 1536compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
81007683578 0 016701 428 1528T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
81312683578 0 026813 428 1528refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
84345042760 0 015885 428 1528T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
84636142760 0 025997 428 1528compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
95913044356 0 018763 432 1528T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
96182144356 0 028875 432 1528refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
101716723622 0 018035 432 1528T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020720240107
102024603622 0 028147 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:157: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:159: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:30: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:161: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:27: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:168: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 ‘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