Implementation notes: armeabi, bblack, crypto_kem/ntruhps2048677

Computer: bblack
Microarchitecture: armeabi; Cortex-A8 (413fc082)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
365558820432 0 059463 424 1496T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
373646820432 0 065607 424 1496compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
132203047572 0 038215 424 1488T:compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
132257207572 0 038215 424 1488T:compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
132357248564 0 038727 424 1496T:compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
133170647572 0 044359 424 1488compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
133176047572 0 044359 424 1488compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
133272008564 0 044871 424 1496compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
171013843624 0 029638 456 1488T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
171751323624 0 035782 456 1488refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
1793972410884 0 049731 424 1496T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
179843085420 0 035651 424 1488T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
179846765420 0 035395 424 1496T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
179896405420 0 035651 424 1488T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
179897245284 0 034097 420 1488T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
179918843592 0 029282 448 1488T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
1802764010884 0 055875 424 1496refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
180673845420 0 041795 424 1488refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
180688405420 0 041539 424 1496refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
180699285420 0 041795 424 1488refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
180730923592 0 035426 448 1488refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
180752205284 0 040241 420 1488refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020420231212
186829043052 0 029130 456 1488T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
187687203052 0 035274 456 1488compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
187934805112 0 034101 420 1488T:compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
188790005112 0 040245 420 1488compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024022520240107
198081444504 0 031720 460 1488T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
198185203852 0 029902 456 1488T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
198919284504 0 037864 460 1488refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
199082243852 0 036046 456 1488refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020420231212
202728845612 0 032748 460 1488T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
203552445612 0 038892 460 1488compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
207891523148 0 029138 456 1488T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
208699323148 0 035282 456 1488compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
226735282940 0 029206 448 1488T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024022520240107
227573002940 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_ntruhps2048677_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