Implementation notes: armeabi, novena, crypto_kem/ntruhps2048509

Computer: novena
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20220506
Operation: crypto_kem
Primitive: ntruhps2048509
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
503607310256 0 041446 464 1496refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
50652755424 0 025164 460 1488T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
509047710256 0 039606 464 1496T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
52412925488 0 026350 464 1496T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
52468945488 0 028798 464 1488refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
52804975488 0 028182 464 1496refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
52912965488 0 026966 464 1488T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
54337135424 0 026996 460 1488refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
588415311576 0 029931 472 1488T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
591656011576 0 031771 472 1488refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
92660753960 0 022891 472 1488refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
94252845452 0 025220 460 1488T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
94276863960 0 021059 472 1488T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
94680903592 0 020083 464 1488T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
94788903666 0 020633 468 1488T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
95821063592 0 021923 464 1488refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022061420220506
96933135452 0 027052 460 1488refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022061420220506
97437193666 0 022473 468 1488refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-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: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: 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_ntruhps2048509_neon_timingleaks -D_CRYPTO_NAMESPACETOP=_crypto_kem_ntruhps2048509_neon_timingleaks -DCRYPTO_NAMESPACE(name)=crypto_kem_ntruhps2048509_neon_timingleaks_##name -D_CRYPTO_NAMESPACE(name)=_crypto_kem_ntruhps2048509_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_ntruhps2048509_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-376600.c
neon_poly_mod.c: clang: note: diagnostic msg: /tmp/neon_poly_mod-376600.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_ntruhps2048509_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:30:36: note: called from here
neon_poly_mod.c: 30 | #define poly_vdup_x1(c, value) c = vdupq_n_u16(value);
neon_poly_mod.c: | ^~~~~~~~~~~~~~~~~~
neon_poly_mod.c: neon_poly_mod.c:165:5: note: in expansion of macro ‘poly_vdup_x1’
neon_poly_mod.c: 165 | 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:30:36: note: called from here
neon_poly_mod.c: 30 | #define poly_vdup_x1(c, value) c = vdupq_n_u16(value);
neon_poly_mod.c: | ^~~~~~~~~~~~~~~~~~
neon_poly_mod.c: neon_poly_mod.c:164:5: note: in expansion of macro ‘poly_vdup_x1’
neon_poly_mod.c: 164 | 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