Implementation notes: armeabi, novena, crypto_kem/ntruhps4096821

Computer: novena
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20220506
Operation: crypto_kem
Primitive: ntruhps4096821
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
127679899348 0 038702 464 1496T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
127843909348 0 040534 464 1496refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
129016035004 0 027702 464 1496refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
129800095004 0 025862 464 1496T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
130724184804 0 026380 460 1488refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
132940384804 0 024540 460 1488T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
134360525004 0 028318 464 1488refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
136284705004 0 026478 464 1488T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
1424052812144 0 030499 472 1488T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
1430613512144 0 032339 472 1488refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
231433553196 0 020161 468 1488T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
232449683110 0 021443 464 1488refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
232877703110 0 019603 464 1488T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
237594124928 0 024692 460 1488T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
237822183464 0 022395 472 1488refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
240774423464 0 020563 472 1488T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
241162493196 0 022001 468 1488refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
245706904928 0 026532 460 1488refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506

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-11/lib/clang/11.0.1/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: 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_mod.c: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
neon_poly_mod.c: Stack dump:
neon_poly_mod.c: 0. Program arguments: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE -DSUPERCOP -DCRYPTO_NAMESPACETOP=crypto_kem_ntruhps4096821_neon_timingleaks -D_CRYPTO_NAMESPACETOP=_crypto_kem_ntruhps4096821_neon_timingleaks -DCRYPTO_NAMESPACE(name)=crypto_kem_ntruhps4096821_neon_timingleaks_##name -D_CRYPTO_NAMESPACE(name)=_crypto_kem_ntruhps4096821_neon_timingleaks_##name -I. -I/home/user/supercop-20220506/supercop-data/novena/armeabi/include -I/home/user/supercop-20220506/supercop-data/novena/armeabi/include/timingleaks -c neon_poly_mod.c
neon_poly_mod.c: 1. <eof> parser at end of file
neon_poly_mod.c: 2. Code generation
neon_poly_mod.c: 3. Running pass 'Function Pass Manager' on module 'neon_poly_mod.c'.
neon_poly_mod.c: 4. Running pass 'ARM Instruction Selection' on function '@crypto_kem_ntruhps4096821_neon_timingleaks_poly_mod_3_Phi_n'
neon_poly_mod.c: clang: error: clang frontend command failed due to signal (use -v to see invocation)
neon_poly_mod.c: Debian clang version 11.0.1-2
neon_poly_mod.c: Target: armv7l-unknown-linux-gnueabihf
neon_poly_mod.c: Thread model: posix
neon_poly_mod.c: InstalledDir: /usr/bin
neon_poly_mod.c: clang: note: diagnostic msg:
neon_poly_mod.c: ********************
neon_poly_mod.c:
neon_poly_mod.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
neon_poly_mod.c: Preprocessed source(s) and associated run script(s) are located at:
neon_poly_mod.c: clang: note: diagnostic msg: /tmp/neon_poly_mod-f7238d.c
neon_poly_mod.c: clang: note: diagnostic msg: /tmp/neon_poly_mod-f7238d.sh
neon_poly_mod.c: clang: note: diagnostic msg:
neon_poly_mod.c:
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_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/10/include/arm_neon.h:6758:1: error: inlining failed in call to ‘always_inline’ ‘vdupq_n_u16’: target specific option mismatch
neon_poly_mod.c: 6758 | 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: 33 | #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: 175 | 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/10/include/arm_neon.h:6758:1: error: inlining failed in call to ‘always_inline’ ‘vdupq_n_u16’: target specific option mismatch
neon_poly_mod.c: 6758 | 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: 33 | #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: 174 | 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/10/include/arm_neon.h:6758:1: error: inlining failed in call to ‘always_inline’ ‘vdupq_n_u16’: target specific option mismatch
neon_poly_mod.c: 6758 | 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