Implementation notes: armeabi, bblack, crypto_kem/ntruhps4096821

Computer: bblack
Microarchitecture: armeabi; Cortex-A8 (413fc082)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: ntruhps4096821
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
496148418792 0 057927 424 1496T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
506861218792 0 064071 424 1496compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
191036527740 0 038215 424 1488T:compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
191061087740 0 038215 424 1488T:compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
191065248464 0 038727 424 1496T:compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
192111927740 0 044359 424 1488compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
192114488464 0 044871 424 1496compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
192134847740 0 044359 424 1488compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
250161243200 0 029126 456 1488T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
251122043200 0 035270 456 1488refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
262496969816 0 048707 424 1496T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
263207764808 0 033585 420 1488T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
263292765012 0 035395 424 1488T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
263326925012 0 035139 424 1496T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
263331965012 0 035395 424 1488T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
263371083114 0 028770 448 1488T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
263599009816 0 054851 424 1496refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
264248565012 0 041539 424 1488refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
264274405012 0 041539 424 1488refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
264316525012 0 041283 424 1496refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
264327764808 0 039729 420 1488refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
264382723114 0 034914 448 1488refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
270325923058 0 029130 456 1488T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
271345963058 0 035274 456 1488compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
272895805036 0 033845 420 1488T:compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
273920845036 0 039989 420 1488compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
290139924148 0 031208 460 1488T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
290367843364 0 029390 456 1488T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
291229484148 0 037352 460 1488refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
291404923364 0 035534 456 1488refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
295564005508 0 032748 460 1488T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
296356645508 0 038892 460 1488compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
302532443280 0 029394 456 1488T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
303665443280 0 035538 456 1488compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
323484002904 0 029206 448 1488T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
324767442904 0 035350 448 1488compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -march=native -O2 -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-7/lib/clang/7.0.1/include/arm_neon.h:28:2: error: "NEON support not enabled"
neon_poly_mod.c: #error "NEON support not enabled"
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:50:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:51:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:52:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:53:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
neon_poly_mod.c: ^
neon_poly_mod.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:54:24: error: 'neon_vector_type' attribute is not supported for this target
neon_poly_mod.c: typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
neon_poly_mod.c: ^
neon_poly_mod.c: ...

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

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
neon_poly_rq_mul.c: In file included from neon_poly_rq_mul.c:20:
neon_poly_rq_mul.c: In file included from ./rq_mul/neon_poly_rq_mul.c:24:
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:64:11: warning: implicit declaration of function 'vtrn1q_u16' is invalid in C99 [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: y16 = vtrn1q_u16(y0, y1);
neon_poly_rq_mul.c: ^
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:64:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
neon_poly_rq_mul.c: y16 = vtrn1q_u16(y0, y1);
neon_poly_rq_mul.c: ^ ~~~~~~~~~~~~~~~~~~
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:65:11: warning: implicit declaration of function 'vtrn2q_u16' is invalid in C99 [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: y17 = vtrn2q_u16(y0, y1);
neon_poly_rq_mul.c: ^
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:65:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
neon_poly_rq_mul.c: y17 = vtrn2q_u16(y0, y1);
neon_poly_rq_mul.c: ^ ~~~~~~~~~~~~~~~~~~
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:66:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
neon_poly_rq_mul.c: y18 = vtrn1q_u16(y2, y3);
neon_poly_rq_mul.c: ^ ~~~~~~~~~~~~~~~~~~
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:67:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
neon_poly_rq_mul.c: 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' is invalid in C99 [-Wimplicit-function-declaration]
neon_poly_rq_mul.c: y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
neon_poly_rq_mul.c: ^
neon_poly_rq_mul.c: ./rq_mul/neon_matrix_transpose.c:68:11: error: invalid conversion between vector type 'uint16x8_t' (vector of 8 'uint16_t' values) and integer type 'int' of different size
neon_poly_rq_mul.c: y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
neon_poly_rq_mul.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_mod.c: In file included from neon_poly_mod.c:20:
neon_poly_mod.c: neon_poly_mod.c: In function 'crypto_kem_ntruhps4096821_neon_timingleaks_poly_mod_3_Phi_n':
neon_poly_mod.c: /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6754:1: error: inlining failed in call to always_inline 'vdupq_n_u16': target specific option mismatch
neon_poly_mod.c: vdupq_n_u16 (uint16_t __a)
neon_poly_mod.c: ^~~~~~~~~~~
neon_poly_mod.c: neon_poly_mod.c:33:36: note: called from here
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:175:5: note: in expansion of macro 'poly_vdup_x1'
neon_poly_mod.c: poly_vdup_x1(hex_0x03, 0x03);
neon_poly_mod.c: ^~~~~~~~~~~~
neon_poly_mod.c: In file included from neon_poly_mod.c:20:
neon_poly_mod.c: /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6754:1: error: inlining failed in call to always_inline 'vdupq_n_u16': target specific option mismatch
neon_poly_mod.c: vdupq_n_u16 (uint16_t __a)
neon_poly_mod.c: ^~~~~~~~~~~
neon_poly_mod.c: neon_poly_mod.c:33:36: note: called from here
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:174:5: note: in expansion of macro 'poly_vdup_x1'
neon_poly_mod.c: poly_vdup_x1(hex_0x0f, 0x0f);
neon_poly_mod.c: ^~~~~~~~~~~~
neon_poly_mod.c: In file included from neon_poly_mod.c:20:
neon_poly_mod.c: /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6754:1: error: inlining failed in call to always_inline 'vdupq_n_u16': target specific option mismatch
neon_poly_mod.c: vdupq_n_u16 (uint16_t __a)
neon_poly_mod.c: ^~~~~~~~~~~
neon_poly_mod.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 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.o sample_fixed_type T

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE compact T:compact
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE compact T:compact
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE compact T:compact
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE compact T:compact
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